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.