yes, that is sort of it - I figured it out just before you replied. the entire operation
is wrapped in a transaction (it's processing a MDB message) and communication with
another system fails, so the code throws an exception to trigger the catch section in the
onMessage() method that acts as a general point for rolling back operations. In that
catch(), the cache operation happens - and the cache is set up to use transactions. then
the overall transaction gets rolled back, so another node could retry processing the
message.
so since the overall transaction gets rolled back, transactions within won't complete
properly.
so I need to look at whether all the cache operations really need to be transactional (can
I suspend the use of transactions in the cache individually?) or figure out how to suspend
the overall transaction (but the container is doing all that work right now, so I'd
have to get into the guts of things... that does not sound appetizing)
thanks!
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4070040#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...