public class NonTxChangeProcessStrategy extends AbstractChangeProcessStrategy<TargetSystemOps>
This strategy is used for target systems that do not support transactions, such as message queues, REST services, S3 buckets, or other external systems where changes cannot be atomically rolled back.
Non-transactional target systems require careful recovery handling since changes cannot be automatically rolled back. The rollback chain mechanism provides best-effort cleanup, but manual intervention may be required for complete system consistency.
auditStoreOperations, change, executionContext, resultBuilder, stepLogger, targetSystemOps, timeService| Constructor and Description |
|---|
NonTxChangeProcessStrategy(ExecutableTask change,
ExecutionContext executionContext,
TargetSystemOps targetSystem,
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 ChangeProcessResult |
doApplyChange()
Strategy-specific implementation of change application.
|
applyChange, auditAndLogAutoRollback, auditAndLogExecution, auditAndLogManualRollback, auditAndLogStartExecution, buildExecutionRuntimepublic NonTxChangeProcessStrategy(ExecutableTask change, ExecutionContext executionContext, TargetSystemOps targetSystem, 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<TargetSystemOps>