Provides support for distributed (XA) transactions.


(enlist resource)

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.