"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

Reply via email to