| A compensating
transaction is a type of transaction that is typically used in
a long running transaction.
Unlike ACID transactions,
Compensations define a specific event that will happen if the
requested event fails. (For ACID transactions the compensation
is always to rollback). Compensations often kick off a completely
different event in order to create balance.
|
Note that compensations
are not exception handlers. Even the compensation that is kicked
off could fail, thus the compensation itself needs an exception
handler.
|