Berkeley DB can be used as an XA-compliant resource manager. The XA
implementation is known to work with the Tuxedo transaction
manager.
The XA support is encapsulated in the resource manager switch
db_xa_switch, which defines the following functions:
- __db_xa_close. Close the resource manager.
- __db_xa_commit. Commit the specified transaction.
- __db_xa_complete. Wait for asynchronous operations to complete.
- __db_xa_end. Disassociate the application from a transaction.
- __db_xa_forget. Forget about a transaction that was heuristically completed. (Berkeley DB does not support heuristic completion.)
- __db_xa_open. Open the resource manager.
- __db_xa_prepare. Prepare the specified transaction.
- __db_xa_recover. Return a list of prepared, but not yet committed transactions.
- __db_xa_rollback. Abort the specified transaction.
- __db_xa_start. Associate the application with a transaction.
The Berkeley DB resource manager does not support the following optional
XA features:
- Asynchronous operations
- Transaction migration
The Tuxedo System is available from Oracle BEA Systems.