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