[jboss-user] [JBoss jBPM] - Re: JBPM - concurrent process execution fails
do-not-reply at jboss.com
Tue Jul 24 07:51:58 EDT 2007
Sorry, I used too broad a brush.
At least in some cases, the behavior I described is dependent on the isolation level selected. If at least level 2 ("read-committed") is selected, then I think it works as I described, if the database supports it. I believe that row-locking is used internally to the database to prevent concurrent access during the commit. Everything is written first, and then everything is unlocked. Thus if the race goes the wrong way, the early reader will block until the late writer has finished. I don't know about MySQL's behavior in this area.
While I think that JBPM is supposed to work
with any isolation level, its default isolation level is 1 ("read-uncommitted"), and so there's much more experience with that level. The level for JBPM is set as hibernate property hibernate.connection.isolation. I don't know where isolation level for a database-persisted queue is dealt with for JMS - AFAICT, it's either vendor-specific, or it's automatically set to "read-committed" if this isolation level is supported. For JBoss messaging, I haven't found where it's set, but see http://labs.jboss.com/file-access/default/members/jbossmessaging/freezone/docs/guide/html_single/index.html#startingtheservice for more info. I don't know how current it is.
Please share back whatever you find out!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066963#4066963
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066963
More information about the jboss-user