efip10,

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!

-Ed Staub

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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to