Brian,

I found the answer in IdentityLock jboss cache class:

1- If the transaction already has a read lock on the entity (which is acquired 
by an EntityManager.find() ) the read lock will be INMEDIATELY upgraded to 
write lock, EVEN if there's a concurrent transaction which already has a read 
lock on the same entity.

2- If the transaction performs a EntityManager.createNamedQuery(), then it does 
not have any read locks on any of the entities returned by the query, so if the 
transaction writes to an entity which is read locked by another concurrent 
transaction, then the write lock will block till the transaction with the read 
lock on that entity commits.

Point 2 is what is described in the hibernate doc. But I think point 1 is 
confusing, don't know if a bug.

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

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4223105
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to