"timfox" wrote : If you are using only non persistent messages, then there is nothing to "back out" from the DB, since nothing has been saved to the db. | | Perhaps I don't follow what you are trying to say...
What I want to back out (or commit atomically) is the XA DB work that my biz functionality has done - using 2PC prepare,ack, commit semantics. If the JMS implementation is an XA compliant one, even without persistence then the answer is yes. I'm thinking this is the sequence of events 1. TX manager starts a new XA transaction 2. JMS (since its XA) enrolls in the transaction. 3. onMsg is invoked, 2 Oracle XA DS are updated, DS1 and DS2. Both are enrolled in the same transaction. 4. onMsg returns successfully (so far so good) 5. the TX Manager calls prepare on all 3 resources JMS, DS1, DS2 6. the TX Mananger receives OK from all three resources 7. the TX Manager calls commit on all 3 resources JMS, DS1, DS2 8. whoops, DS2 commit fails - and notifies TX Manager 9. the TX Manager calls rollback on all 3 resources If JMS if not a XA resource it will not honor the rollback at the last step and would cause the DB updates to never be applied. I hope this explains my motivation... View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048038#4048038 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048038 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
