public class SimpleTxChangeProcessStrategy extends AbstractChangeProcessStrategy<TransactionalTargetSystemOps>
This strategy is used when the target system supports transactions but uses a separate audit store (either a different database in community edition or cloud-based audit in cloud edition). Changes are applied within a transaction, but audit operations occur in a separate transaction context.
When the target system supports markers (not NoOpTargetSystemAuditMarker), this strategy creates a marker indicating change application status. This marker aids in recovery scenarios by providing clear indication of whether the change was successfully applied to the target system.
auditStoreOperations, change, executionContext, resultBuilder, stepLogger, targetSystemOps, timeService| Constructor and Description |
|---|
SimpleTxChangeProcessStrategy(ExecutableTask change,
ExecutionContext executionContext,
TransactionalTargetSystemOps targetSystemOps,
AuditStoreStepOperations auditStoreOperations,
ChangeResultBuilder resultBuilder,
LockGuardProxyFactory proxyFactory,
io.flamingock.internal.common.core.context.ContextResolver baseContext,
io.flamingock.internal.util.TimeService timeService) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
auditAndLogAutoRollback() |
protected ChangeProcessResult |
doApplyChange()
Strategy-specific implementation of change application.
|
applyChange, auditAndLogAutoRollback, auditAndLogExecution, auditAndLogManualRollback, auditAndLogStartExecution, buildExecutionRuntimepublic SimpleTxChangeProcessStrategy(ExecutableTask change, ExecutionContext executionContext, TransactionalTargetSystemOps targetSystemOps, AuditStoreStepOperations auditStoreOperations, ChangeResultBuilder resultBuilder, LockGuardProxyFactory proxyFactory, io.flamingock.internal.common.core.context.ContextResolver baseContext, io.flamingock.internal.util.TimeService timeService)
protected ChangeProcessResult doApplyChange()
AbstractChangeProcessStrategyConcrete strategies must implement this method to define their specific transaction handling, execution flow, and error recovery patterns.
doApplyChange in class AbstractChangeProcessStrategy<TransactionalTargetSystemOps>protected void auditAndLogAutoRollback()