[jBPM] - Reg jBPM Resilience
by tmag
tmag [https://community.jboss.org/people/tmag] created the discussion
"Reg jBPM Resilience"
To view the discussion, visit: https://community.jboss.org/message/762547#762547
--------------------------------------------------------------
Am looking for details about the jBPM requirements to implement it in a DR (Disaster Recovery) environment.
Per my knowledge :
A jBPM KnowledgeSession cannot be shared between two active jBPM instances. So it really depends on the application and its requirements – whether we can go with Active/Active or Active/Passive setup for DR.
For applications with one centralized Session – Active/Passive
For applications which can/must have multiple sessions – Active/Passive (or) Active/Active
*Could anyone please give an example - where we may need a new KnowledgeSession always?*
*Requirements:*
* Database must be accessible from all the instances in your DR setup to restore the processes in case of failure.
* *Any other requirements?*
Thanks in advance.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/762547#762547]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months
[jBPM] - Sub task complete operation not working
by tom sebastian
tom sebastian [https://community.jboss.org/people/tomsebastian] created the discussion
"Sub task complete operation not working"
To view the discussion, visit: https://community.jboss.org/message/762496#762496
--------------------------------------------------------------
Hi all,
I am using WS-HumantaskSservice(5.2) for our humantask implementation. We could create and could do task operations successfully.
But now we include subtask strategy("onAllSubtasksEndParentTaskEndStrategy") also. Problem is that when we complete the tsubtask, the below exception is thrown. Please help...
I passed knowledge session to workitem handler as mentioned in another discussion.
java.lang.IllegalStateException: EntityManager is closed
17:57:42,007 INFO [LoggingFilter] SENT: HeapBuffer[pos=0 lim=0 cap=0: empty]
17:57:42,007 ERROR [STDERR] at org.hibernate.ejb.EntityManagerImpl.getSession(EntityManagerImpl.java:66)
17:57:42,007 ERROR [STDERR] at org.hibernate.ejb.TransactionImpl.getSession(TransactionImpl.java:28)
17:57:42,007 ERROR [STDERR] at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:38)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.event.InternalTaskEventListener.taskCompleted(InternalTaskEventListener.java:47)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:47)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:497)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:463)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:84)
17:57:42,007 ERROR [STDERR] at org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
17:57:42,008 ERROR [STDERR] at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)
17:57:42,008 ERROR [STDERR] at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
17:57:42,008 ERROR [STDERR] at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:177)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66)
17:57:42,008 ERROR [STDERR] at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078)
17:57:42,008 ERROR [STDERR] at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
17:57:42,008 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
17:57:42,008 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
17:57:42,008 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/762496#762496]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months
[jBPM] - Release task in LocalTaskService in jBPM5.2
by Rahul Agrawal
Rahul Agrawal [https://community.jboss.org/people/rahulamt] created the discussion
"Release task in LocalTaskService in jBPM5.2"
To view the discussion, visit: https://community.jboss.org/message/759580#759580
--------------------------------------------------------------
Hi all,
This is my use case: A task is pending with a Role. Some user with that role claims the task. Now the user do not want to work on that task. He want to release that task to role pool.
The above action can be achieved through org.jbpm.task.TaskService.release(taskId, idRef). But unfortunately this API is not working.
So I dug dip into the code details ,I could find the following in the LocalTaskService
public void release(long taskId, String userId) {
taskServiceSession.taskOperation(Operation.Release, taskId, userId, null, null, null);
}
and in the TaskServiceSession for this taskOperation
switch (operation) {
case Claim: {
taskClaimOperation(task);
break;
}
case Complete: {
taskCompleteOperation(task, data);
break;
}
case Fail: {
taskFailOperation(task, data);
break;
}
case Skip: {
taskSkipOperation(task, userId);
break;
}
case Remove: {
taskRemoveOperation(task, user);
break;
}
case Register: {
taskRegisterOperation(task, user);
break;
}
}
there is no switch case for release operation. The same for the postTaskOperations.
Can anyone explain? Am I not supposed to use release for the use case above described?
Please help!!!
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/759580#759580]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months
[jBPM] - jBPM 5.3 Final Installer Full : BIRT report works with ant start.jboss but not with standalone.bat
by Umesh Kant
Umesh Kant [https://community.jboss.org/people/umesh_kant] created the discussion
"jBPM 5.3 Final Installer Full : BIRT report works with ant start.jboss but not with standalone.bat"
To view the discussion, visit: https://community.jboss.org/message/762043#762043
--------------------------------------------------------------
Hi All,
I have installed jBPM 5.3 final Installer Full version. The build.xml has download.birt="true" and the birt was downloaded and installed.
In addition we made changes so that server talks to MS SQL Server instead of H2 database.
When I run the ant start.jboss, the server comes up and report works fine from jbpm-console.
But when I try to run the jboss AS 7.0.2 using the standalone.bat OR from eclipse where I have configured this jboss server instance, the report does not work and when I click on reports template under reports on jbpm-console, I get following error
12:09:04,131 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/gwt-console-server].[Resteasy]] (http-localhost-127.0.0.1-8080-5) Servlet.service() for servlet Resteasy threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.IllegalStateException: Report server not initialized. Please check the server logs for further details.
at org.jboss.resteasy.core.SynchronousDispatcher.unwrapException(SynchronousDispatcher.java:345) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:321) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:534) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.2.1.GA.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59) [classes:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:388) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at java.lang.Thread.run(Thread.java:722) [:1.7.0]
Caused by: java.lang.IllegalStateException: Report server not initialized. Please check the server logs for further details.
at org.jboss.bpm.report.ReportFacade.assertBirtAvailability(ReportFacade.java:124) [report-core-1.4.2.Final.jar:]
at org.jboss.bpm.report.ReportFacade.getReportConfig(ReportFacade.java:258) [report-core-1.4.2.Final.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.7.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0]
at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209) [resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519) [resteasy-jaxrs-2.2.1.GA.jar:]
... 24 more
Any idea as to why ant script makes report to work where as starting the jboss server using standalone.bat or eclipse does not work.
Thanks,
Umesh
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/762043#762043]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months
[jBPM] - Waiting for events to occur in a flow?
by Jim Beam
Jim Beam [https://community.jboss.org/people/jamesbeam] created the discussion
"Waiting for events to occur in a flow?"
To view the discussion, visit: https://community.jboss.org/message/762276#762276
--------------------------------------------------------------
I'm a flow noob (...obviously) using 5.3.
I have a few examples working and am trying to integrate some rules. I think I have a fundamental misunderstanding of rule tasks (maybe flow). Basically, I want to have a more complicated process and I want to only advance to the next node when a certain set of conditions are met.
To set up a simple test, I have a flow, *start node->rule task->script task (writes "Done")-> end node*. I don't want to get to the script task until the process receives a message with text='hi' or text='yo'. I set up the following ruleflow group (I have a Message and MessageB class):
rule "waitforit rule"
ruleflow-group "waitforMessage"
dialect "mvel"
when
not ($m : Message())
then
System.out.println("no message yet");
end;
rule "dotone"
ruleflow-group "waitforMessage"
dialect "mvel"
when
$m : Message(text=='hi' || text=='yo')
then
System.out.println("got message:"+$m.text);
end;
I tried:
1) I start the process and insert a MessageB object (i see hibernate update the session). I expected the first rule to fire, but it does not. Then I insert a Message object and the process/app just exits (WITHOUT) giving me the "Done" message (i have a thread.sleep after the insert - and no dispose).
2) So, I start the process and do a fireallrules, wait 10 seconds then insert a Message object. But, as soon as I fireallrules, I get the "no message yet" message AND the "Done" message. Nothing happens for 10 seconds and then the process ends.
So, I have just one question....in 6 parts:
a) in #1, why doesn't the first rule fire?
b) and Why/How does the process exit without a "Done" message? (I don't dispose of the ksession in my code)
c) in #2, why does the fireallrules immediatly trigger the "Done" message?
d) as I read it in the documentation, the rule task should keep the process from advancing until all of the rules are no longer active. However, I thought the first rule would ensure that the group was active until a Message arives. Is that wrong?
e) what is the right way to do this sort of thing?
f) Can someone clue me into what I am doing wrong? Am I thinking about this in the wrong way?
Thanks very much for your thoughts/comments.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/762276#762276]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months