JBoss Cache doesn't suspend/resume the transaction; it's Hibernate's
integration with JBC that does this. If JBC sees an active transaction it will hold a lock
on data in the cache until that tx commits. There are times when it's incorrect for
those locks to be held for that long, so Hibernate suspends the tx before calling into
JBC.
To avoid these suspensions you should:
1) Not use query caching, since the suspensions are very common with query caching
operations.
2) Avoid bulk operations (executing SQL or HQL that modifies multiple entities) since that
results in cache-clearing operations that involve suspending any active tx.
3) For the same reason, avoid the org.hibernate.SessionFactory evict* methods and the
org.hibernate.Cache evict* methods.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4263083#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...