immutant.xa.transaction documentation
Fine-grained XA transactional control
active?
(active?)
Returns true if currently running within a transaction
after-completion
(after-completion f)
Register a callback to fire when the current transaction is complete
available?
(available?)
Returns true if a TransactionManager is available to manage XA transactions
begin
(begin func)
Begin, invoke func, commit, rollback if error
current
(current)
Return the active transaction
enlist
(enlist & resources)
Enlist XA resources in the current transaction
mandatory
macro
(mandatory & body)
JEE Mandatory - throws an exception unless there's an active transaction
never
macro
(never & body)
JEE Never - throws an exception if there's an active transaction
not-supported
macro
(not-supported & body)
JEE NotSupported - suspend current transaction, if any, and run body without a transaction
required
macro
(required & body)
JEE Required - execute within current transaction, if any, otherwise wrap body in a new one
requires-new
macro
(requires-new & body)
JEE RequiresNew - suspend current transaction, if any, and wrap body in a new one
set-rollback-only
(set-rollback-only)
Modify the current transaction such that the only possible outcome is a roll back
supports
macro
(supports & body)
JEE Supports - run body regardless of current transaction state (unpredictable)
suspend
(suspend func)
Suspend, invoke func, resume