XA Introduction

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.