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

Reply via email to