TransactionRegistry tracks Connections and XAResources in a transacted environment for a single XAConnectionFactory.

Package org.apache.commons.dbcp.managed Description

This package provides support for pooling of ManagedConnections. A managed
connection is responsible for managing a database connection in a
transactional environment (typically called Container Managed).
A managed connection opperates like any other connection when no gloabal
transaction (a.k.a. XA transaction or JTA Transaction) is in progress.
When a global transaction is active a single physical connection to the
database is used by all ManagedConnections accessed in the scope of the
transaction. Connection sharing means that all data access during a
transaction has a consistent view of the database. When the global
transaction is committed or rolled back the enlisted connections are
committed or rolled back.

This package supports full XADataSources and non-XA data sources using
local transaction semantics. non-XA data sources commit and rollback as
part of the transaction but are not recoverable in the case of an error
because they do not implement the two-phase commit protocol.