Hi Ronald Thanks for advice... I re-implemented ForEachFork and ForEachJoin for jbpm4 by using the code in ForkActivity and JoinActivity. Instead of using sub-process I used "group". I tried to execute "groups" concurrently in the fork by labeling them with "continue=async". But it created a lot of database level problems. Then, I decided to test this with original JBPM functionality but again I got exceptions.
My question is --> Is there a way to execute "groups" async with Fork-Join or Do you suggest something else? Please check following information. | <?xml version="1.0" encoding="UTF-8"?> | | <process name="testForkJoin" xmlns="http://jbpm.org/4.0/jpdl"> | | <start name="start1" g="255,53,48,48"> | <transition name="to state1" to="state1" g="-63,-22" /> | </start> | | <custom g="198,134,157,52" name="state1" class="com.actions.RandomActivity"> | <transition to="fork1" g="-52,-22" /> | </custom> | | <fork name="fork1" g="252,291,48,48"> | <transition name="to state2" to="state2" g="-63,-22" /> | <transition name="to state3" to="state3" g="-63,-22" /> | </fork> | | <group name="state2"> | <start> | <transition to="state4" /> | </start> | | <custom g="198,134,157,52" name="state4" class="com.actions.RandomActivity" continue="async"> | <transition to="groupDone1" g="-52,-22" /> | </custom> | | <end name="groupDone1" /> | <transition to="join1" /> | </group> | | <group name="state3" continue="async"> | <start> | <transition to="state5" /> | </start> | | <custom g="198,134,157,52" name="state5" class="com.actions.RandomActivity" continue="async"> | <transition to="groupDone2" g="-52,-22" /> | </custom> | | <end name="groupDone2" /> | <transition to="join1" /> | </group> | | | <join name="join1" g="256,461,48,48"> | <transition name="to end1" to="end1" g="-54,-22" /> | </join> | <end name="end1" g="263,568,48,48" /> | </process> | and Simple RandomActivity | public void execute(ActivityExecution ae) throws Exception { | System.out.println("in random activity"); | for(int i=0; i < 10; i++){ | Thread.sleep(10); | System.out.println(Thread.currentThread().getName()+":"+i); | } | } | anonymous wrote : | Here is the exception | | SEVERE: Could not synchronize database state with session | org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.pvm.internal.model.ExecutionImpl#3] | at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792) | at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435) | at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335) | at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635) | at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115) | at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) | at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) | at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168) | at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) | at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) | at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) | at org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:54) | at org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:106) | at org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:65) | at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61) | at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54) | at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55) | at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70) | at com.playphone.alexander.afp.workFlowProcessor.TestWorkFlow.testForkJoinGroup(TestWorkFlow.java:63) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:597) | at junit.framework.TestCase.runTest(TestCase.java:154) | at junit.framework.TestCase.runBare(TestCase.java:127) | at junit.framework.TestResult$1.protect(TestResult.java:106) | at junit.framework.TestResult.runProtected(TestResult.java:124) | at junit.framework.TestResult.run(TestResult.java:109) | at junit.framework.TestCase.run(TestCase.java:118) | at junit.framework.TestSuite.runTest(TestSuite.java:208) | at junit.framework.TestSuite.run(TestSuite.java:203) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:597) | at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) | at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) | at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) | at org.apache.maven.surefire.Surefire.run(Surefire.java:177) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:597) | at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) | at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) | | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4253284#4253284 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4253284 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
