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.
Kodo 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 and JBoss.
Instances of a javax.sql.XADataSource
for each of the DataSource
s that
Kodo will use.
Given these components, setting up Kodo to participate in distributed transactions is a simple two-step process:
Integrate Kodo with your application server's transaction manager, as detailed in Section 8.2, “Integrating with the Transaction Manager”.
Point Kodo at an enlisted
XADataSource
, and configure a
second non-enlisted data source.
See Section 4.2.1, “Managed and XA DataSources”.