Basically, XA transactions work like this.
A transaction manager (TM) will manage multiple resource managers (RM). The app will start
a transaction with the TM. As the app make updates, it could update the data in multiple
RMs, each of which is then enlisted into the transaction by the TM. Then when the app is
done, it tells the TM to commit the transaction. The TM then asks each RM "can you
successfully commit the transaction?" If any of the RMs respond "no," then
the TM tells each RM to abort the transaction. If every RM responds "yes," then
the TM goes back and tells each RM "please commit now." Now, between the
"yes I can commit" response from a given RM and the "commit now" from
the TM, the given RM could die. In that case, the RM is responsible to recover the
transaction when it comes back up.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151844#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...