[jboss-user] [jBPM] - StaleObjectStateException
Alejandro Guizar
do-not-reply at jboss.com
Fri Aug 20 08:52:35 EDT 2010
Alejandro Guizar [http://community.jboss.org/people/alex.guizar%40jboss.com] replied to the discussion
"StaleObjectStateException"
To view the discussion, visit: http://community.jboss.org/message/558339#558339
--------------------------------------------------------------
Gregory, stale state exceptions are to be expected if your process definition contains concurrent paths. Managing these exceptions has been the subject of multiple issues. In https://jira.jboss.org/browse/JBPM-1952 JBPM-1952 the JMS message service was reviewed and the queue configuration was changed as follows.
JBossMQ (AS 4.x)
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=JbpmJobQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
<!-- JBPM-1952 a small redelivery delay goes a long way towards mitigating
stale state exceptions and deadlocks under heavy concurrency conditions -->
<attribute name="RedeliveryDelay">1000</attribute>
</mbean>
JBoss Messaging (AS 5.x)
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=JbpmJobQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<!-- JBPM-1952 a small redelivery delay goes a long way towards mitigating
stale state exceptions and deadlocks under heavy concurrency conditions -->
<attribute name="RedeliveryDelay">1000</attribute>
</mbean>
In https://jira.jboss.org/browse/JBPM-2790 JBPM-2790 the job executor and the join node were improved as follows.
* End concurrent token when it enters the join node. Check all children of the parent token have ended when the join executes.
* Make a small pause in the job executor thread before retrying a failed job. Retrying a failed job too soon will likely produce another SOSE or deadlock.
For best results, the join node should be made asynchronous in order to reduce the window of opportunity for a locking conflict.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/558339#558339]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100820/58a79664/attachment.html
More information about the jboss-user
mailing list