Berkeley DB Reference Guide:
Distributed Transactions


XA Introduction

Berkeley DB can be used as an XA-compliant resource manager. The XA implementation is known to work with the Tuxedo(tm) 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
__db_xa_end       Disassociate the application from a
__db_xa_forget    Forget about a transaction that was heuristically
                  completed. (Berkeley DB does not support heuristic
__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

The Berkeley DB resource manager does not support the following optional XA features:

  • Asynchronous operations
  • Transaction migration

The Tuxedo System is available from BEA Systems, Inc.

For additional information on Tuxedo, see

Building Client/Server Applications Using Tuxedo, by Hall (John Wiley & Sons, Inc.).

For additional information on XA Resource Managers, see

X/Open CAE Specification Distributed Transaction Processing: The XA Specification, X/Open Document Number: XO/CAE/91/300.

For additional information on The Tuxedo System, see

The Tuxedo System, by Andrade, Carges, Dwyer and Felts (Addison Wesley Longman).


Copyright Sleepycat Software