Sure, I can understand why it's doing it, but I was under an impression that it's a violation of the contract for SERIALIZABLE. Am I wrong? (statistics show that I am.. :D)
If we pretent do be a DB for just a moment, doesn't SERIALIZABLE dictate that no other connection can create a new row in a table while a SERIALIZABLE transaction is in progress? I could be way wrong here, but I thought that's what the contract was, maybe it's only if one has read something from that table. Is there anyway I can implement the sort of behaviour I need? How can I prevent 2 threads from even looking at the state of a Node in the cache while some other thread has a lock on that Node. What about if I synchronized(..) on the actual Node before inspecting? Could I: Object node = cache.get("/SecurityInfo/" +myId); synchronized(node) { -- read value of node --- do DB Lookup as necessary } If another Thread came along, I would hope it would block. Given that there could me many many many 'myId's', I'd need to evict them after a while, but long enough such that the get(..) call returned the exact same object for multiple threads for the sync call to work. Thanks for all replies. Thoughts would be very much appreciated. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854894#3854894 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854894 ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development