Library Version 11.2.5.2

Restrictions on XA Transactions
Prev | Chapter 13. Distributed Transactions | Next

## Restrictions on XA Transactions

When you are using Berkeley DB for XA transactions, there are a few restrictions you should be aware of:

- Configure environment using the DB_CONFIG file

  You must configure your environment via the DB_CONFIG file because an XA application or server cannot control the environment creation.

- No in-memory logging

  Upon return from xa_open, Berkeley DB checks to ensure there is no in-memory logging. If in-memory logging is detected, a FAILURE message is returned to the application.

- No application-level child transactions

  Berkeley DB verifies in the xa_start and xa_end calls that no XA transaction has a parent. If application-level child transactions are detected, a FAILURE message is returned to the application.

- All database-level operations, such as create, rename, and remove, must be performed in local BDB transactions, not distributed XA transactions

  Berkeley DB checks that there is no XA transaction currently active during these operations, and if detected, a FAILURE message is returned to the application.

- Close cursors before a service invocation returns

  Berkeley DB checks in the `xa_end` call that the `DB_TXN` has no active cursors open and and if detected, a FAILURE message is returned to the application.

Prev | Up | Next
Configuring Berkeley DB with the Tuxedo System | Home | XA: Frequently Asked Questions