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