Provides support for distributed (XA) transactions.
Enlist a valid XAResource as a participant in the current transaction. Not required for Immutant resources, i.e. messaging and caching, as they will be enlisted automatically.
The JTA TransactionManager
Modify the current transaction such that the only possible outcome is a rollback; useful when rollback is desired but an exception is not
(transaction & body)
Execute body within current transaction, if any, otherwise start a new transaction, execute body, and either commit or rollback all actions on XA components contained therein atomically. Any exception tossed within the body will cause the transaction to rollback. Otherwise, the transaction is committed and the value of the last expression in the body is returned. This is effectively an alias for the
immutant.transactions.scope/required transaction scope.