[jbpm-dev] [Design of JBoss jBPM] - Re: Concurrency in jBPM4

roschmel do-not-reply at jboss.com
Tue Feb 10 15:37:05 EST 2009


@Bernd

We have a clustered environment where we have following resources:
1) The database transaction for jbpm to an oracle
2) Another or mapping technology to a legacy database which is transacted but non xa
3) Various WebService calls which are causing operation in external systems and cannot be rolled back
and we might get other stuff to.... (its an EAI scenario). We are using a JTA Manager but we do not use XA. And I know - perhaps an ESB would fit better into it - but for different reasons its currently not an option.

I will try to sum up my issues to make it more clear:

1) The jBPM throws StaleObjectExceptions when one ProcessInstance is getting Signals concurently. When your process is using non transacted (or not XA capable) resources this might cause problems because you cannot just retry easily.

Our solution: We replaced the CommandService Implementation with our own implementation managing clusterwide locks on process instances.

2) When you use non transacted (or non XA capable) resources you might want to have more fine granular transaction demarcation. Therefore you can use async="true" but this will again increase the possiblity for 1) at least with the source up to 3.2.3 (thx alex)

Our solution: We are using BMT and implemented an ActionHandler which can commit the transaction during process execution - but we need a dirty code hack for this.


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4208747#4208747

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4208747



More information about the jbpm-dev mailing list