A LocalTransactionException represents various
error conditions related to the local transaction management contract.
The Java Transaction API specification specifies the
javax.transaction.xa.XAException class for exceptions
related to XAResource based transaction management contract.

The LocalTransactionException is used for the local
transaction management contract to indicate the following common
error conditions:

Invalid transaction context when a transaction operation is executed.
For example, calling commit method on
LocalTransaction object without an active
local transaction is an error condition.

Transaction is rolled back instead of getting committed during a
commit method call on the LocalTransaction
object.

An attempt to start a local transaction from the same thread on a
ManagedConnection that is already associated with
an active local transaction.

Any resource adapter or resource manager specific error conditions
related to local transaction management. Examples are violation of
integrity of resources, deadlock detection, communication failure
during transaction completion, retry required or any internal error
in a resource manager.