Tun Mang [http://community.jboss.org/people/tunmang] created the discussion

"jBPM 4.3, multiple threads handled sub-process caused its parent process 
throwing exceptions"

To view the discussion, visit: http://community.jboss.org/message/617763#617763

--------------------------------------------------------------
Hi :

I have a jpdl with fork as shown below :

  -->(fork-node)-->(sub-process-node-A)-->(join-node)
                -->(sub-process-node-B)-->

The sub-process-node-A and sub-process-node-B refer a same and very simple 
sub-process jpdl (which has only 3 nodes: start, state and end). But there is 
one thread to call the signal process function per sub-process (i.e. there are 
totally 2 threads running to handle the externl jobs).

When the thread calls the signal process function to end its corresponding 
sub-process, it's all OK:

....          
21:50:36 DEBUG [....EndHandler]: (AP) parent process: (PVODDelivery.2660001)
21:50:36 DEBUG [....EndHandler]: (AP)   execution id: (ConformAsset.2660164)
....
21:50:36 DEBUG [....EndHandler]: (AP) parent process: (PVODDelivery.2660001)
21:50:36 DEBUG [....EndHandler]: (AP)   execution id: (ConformAsset.2660078)
....

But right after the ending of the sub-process, jbpm always throws the following 
exceptions:

21:50:37,164 INF | [DefaultCommandService] exception while executing command 
org.jbpm.pvm.internal.cmd.SignalCmd@64f06ab7
org.hibernate.StaleObjectStateException: 
Row was updated or deleted by another transaction (or unsaved-value mapping was 
incorrect): [org.jbpm.pvm.internal.model.ExecutionImpl#2660001]
          at 
org.hibernate.dialect.lock.SelectLockingStrategy.lock(SelectLockingStrategy.java:102)
          at 
org.hibernate.persister.entity.AbstractEntityPersister.lock(AbstractEntityPersister.java:1361)
          at 
org.hibernate.event.def.AbstractLockUpgradeEventListener.upgradeLock(AbstractLockUpgradeEventListener.java:108)
          at 
org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEventListener.java:87)
          at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:611)
          at org.hibernate.impl.SessionImpl.lock(SessionImpl.java:603)
          at 
org.jbpm.jpdl.internal.activity.JoinActivity.execute(JoinActivity.java:68)
          at 
org.jbpm.jpdl.internal.activity.JoinActivity.execute(JoinActivity.java:49)
          at 
org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
          at 
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:678)
          at 
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:638)
          at 
org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:439)
          at 
org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:421)
    ....

Is there a way to fix this issue via "jbpm.default.cfg.xml" or 
"jbpm.hibernate.cfg.xml" ?

Thanks a lot for you time and help in advance.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/617763#617763]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to