3.
XA Transactions

The X/Open Distributed Transaction Processing (X/Open DTP) model, designed by
Open Group (a vendor consortium),
defines a standard communication architecture that provides the following:

Concurrent execution of applications on shared resources.

Coordination of transactions across applications.

Components, interfaces, and protocols that define the architecture and provide
portability of applications.

Atomicity of transaction systems.

Single-thread control and sequential function-calling.

The X/Open DTP XA standard defines the application programming interfaces that a
resource manager uses to communicate with a transaction manager. The XA
interfaces enable resource managers to join transactions, to perform two-phase
commit, and to recover in-doubt transactions following a failure.

3.1.
Using OpenJPA with XA Transactions

OpenJPA supports XA-compliant transactions when used in a properly configured
managed environment. The following components are required:

A managed environment that provides an XA compliant transaction manager.
Examples of this are application servers such as WebLogic or JBoss.

Instances of a javax.sql.XADataSource for each of the
DataSources that OpenJPA will use.

Given these components, setting up OpenJPA to participate in distributed
transactions is a simple two-step process: