In my deployment, I use a pool of MDBs to start a number of workflows.
The workflows progress from node to node, collecting objects in hibernate
session, and at some state they fire a message to (another) queue. After that,
the finally { jbpmContext.close() } is reached, and the session begins to flush.
In the meantime, in some other place in the galaxy, another pool of MDBs
receives the messages and starts processing on them. First thing that is done
is jbpmContext.loadProcessInstanceForUpdate(id); at which state the execution
fails with Hibernate exceptions, like
org.hibernate.HibernateException: null index column for collection:
org.jbpm.graph.exe.ProcessInstance.instances and
org.hibernate.LazyInitializationException: illegal access to loading collection
At this stage, I cannot even end or cancel my token, since the processInstance
is not loaded correctly.
As a result, my workflow stays in zombie state and actually never ends.
We use JBoss 4.0.5, Hibernate, Spring, MySQL (tried with all isolation levels)
and jBPM 3.2.
Any suggestions on how to make sure the processInstance is fully saved to the
DB before I read it? No mutexes can help here because of clustered deployment.
Thanks in advance.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063578#4063578
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063578
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user