XA ("eXtended Architecture") is an X/Open group standard for accessing several back-end data stores within the same global transaction. The specification governs how a transaction manager (such as Atomikos®
) can tell a database what work is going on as part of what transaction, and how to conduct the two-phase commit (2PC) protocol at the end of each transaction. Also included is how to recover pending transactions from the data store.
Benefits of XA
Because it is a standard, any compliant data store (driver) can work with any compliant transaction manager as part of a global (distributed) transaction. In other words, XA provides the glue between the transaction manager and the data stores as far as two-phase-commit is concerned. This is why, for instance, Atomikos®
can work with databases such as Oracle™
and still commit or rollback everything.
Check this Additional Background Reading
, including the specification itself.