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.
|