immutant.transactions.scope

Macros that control transaction scope, analagous to JEE transaction attributes

mandatory

macro

(mandatory & body)

JEE Mandatory - throws an exception unless there’s an active transaction in which body will be run

never

macro

(never & body)

JEE Never - throws an exception if there’s an active transaction, otherwise runs body

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 run body in a new one

requires-new

macro

(requires-new & body)

JEE RequiresNew - suspend current transaction, if any, and execute body in a new one

supports

macro

(supports & body)

JEE Supports - run body regardless of current transaction state (unpredictable)