|
|
|
|
|
|
When working with a non-transactional stores, there should be a way to find out about the executed and failed grid dialect operations of a transaction cycle. This allows to take appropriate action such as performing compensating operations, re-try the failed operations etc.
Use cases:
As a user of OGM, upon an exception during flush(),
* UC-1.1: I want to log all operations applied so far and abort the processing of the flush cycle * UC-2.1: I want to skip the failed operation for certain exception types and continue further processing of the flush cycle * UC-2.1.1: I want to skip the failed operation for certain exception types and entity types and continue further processing of the flush cycle * UC-2.2: I want to retry the failed operation for certain exception types; If that succeeds, I want to continue, if that fails, I want to abort the further processing of the flush cycle * UC-2.3: I want to alter and retry the failed operation for certain exception types; If that fails, I want to abort the further processing of the flush cycle * UC-3.1: I want compensate all operations applied so far and abort the processing of the flush cycle * UC-3.1.1: I want to execute custom compensation actions * UC-3.1.2: I want to execute automatically determined compensation actions (e.g. a delete for an insert, an insert/update to restore the previous state for a delete/update)
|
|
|
|
|
|