Class DefaultExecutionFinishSynchronizer
java.lang.Object
com.codebarrel.automation.api.execution.DefaultExecutionFinishSynchronizer
- All Implemented Interfaces:
ExecutionFinishSynchronizer
@Component
public final class DefaultExecutionFinishSynchronizer
extends Object
implements ExecutionFinishSynchronizer
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultExecutionFinishSynchronizer(AuditService auditService, AutomationQueue automationQueue, AutomationErrorNotificationService notificationService) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidstartComponent(ExecutionInfo info) voidstartOrContinueRule(com.codebarrel.automation.api.config.RuleConfigBean ruleConfig, ExecutionInfo info) Starts or continues synchronized rule execution.value(ExecutionInfo info)
-
Constructor Details
-
DefaultExecutionFinishSynchronizer
@Inject public DefaultExecutionFinishSynchronizer(AuditService auditService, AutomationQueue automationQueue, AutomationErrorNotificationService notificationService)
-
-
Method Details
-
startOrContinueRule
public void startOrContinueRule(com.codebarrel.automation.api.config.RuleConfigBean ruleConfig, ExecutionInfo info) Description copied from interface:ExecutionFinishSynchronizerStarts or continues synchronized rule execution. Basic rules (on behalf of single issue, without branches) are always executed by one executor and there is a single start and arrive cycle. Complex rules like scheduled for given JQL query are chopped into many 'clones' where each clone handles single issue. Such clones are stored in automation queue and executed in the same context (audit item id, execution uuid), so each clone is executed like single rule but also continues execution of original rule. For complex rules there might be many start-arrive cycles in the same context.- Specified by:
startOrContinueRulein interfaceExecutionFinishSynchronizer- Parameters:
ruleConfig-info-
-
startComponent
- Specified by:
startComponentin interfaceExecutionFinishSynchronizer
-
arriveAndNotifyIfRequired
- Specified by:
arriveAndNotifyIfRequiredin interfaceExecutionFinishSynchronizer
-
value
- Specified by:
valuein interfaceExecutionFinishSynchronizer
-