Transactions are associated with a transactional resource via the
start method, and dissociated from the resource via the
end method. The resource adapter internally maintains an association between the resource connection object and the
XAResource object. At any given time, a connection is associated with zero or one transactions. Because JTA does not support nested transactions, the
start method cannot be invoked on a connection that is currently associated with a different transaction.
The transaction manager may interleave multiple transaction contexts with the same resource, as long as
end are invoked properly for each transaction context switch. Each time the resource is used with a different transaction, the
end method must be invoked for the previous transaction that was associated with the resource, and the
start method must be invoked for the current transaction context.