@Override public IntermediateThrowEventBuilder builder() { return new IntermediateThrowEventBuilder((BpmnModelInstance) modelInstance, this); } }
public static BpmnModelInstance prepareMessageEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .message(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .done(); }
public static BpmnModelInstance prepareEscalationEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .escalation(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); }
public static BpmnModelInstance prepareSignalEventProcess() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .signal(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); return modelInstance; }
public static BpmnModelInstance prepareCompensationEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .subProcess("subProcess") .embeddedSubProcess() .startEvent() .endEvent() .subProcessDone() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .compensateEventDefinition() .compensateEventDefinitionDone() .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); }
private BpmnModelInstance prepareSignalEventProcessWithoutRetry() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .signal("start") .serviceTask() .camundaClass(FAILING_CLASS) .endEvent() .done(); return modelInstance; }
public void testRetryOnServiceTaskLikeMessageThrowEvent() { // given BpmnModelInstance bpmnModelInstance = Bpmn.createExecutableProcess("process") .startEvent() .intermediateThrowEvent() .camundaAsyncBefore() .camundaFailedJobRetryTimeCycle("R10/PT5S") .messageEventDefinition("messageDefinition") .message("message") .messageEventDefinitionDone() .endEvent() .done(); MessageEventDefinition messageDefinition = bpmnModelInstance.getModelElementById("messageDefinition"); messageDefinition.setCamundaClass(FailingDelegate.class.getName()); deployment(bpmnModelInstance); runtimeService.startProcessInstanceByKey("process"); Job job = managementService.createJobQuery().singleResult(); // when job fails try { managementService.executeJob(job.getId()); } catch (Exception e) { // ignore } // then job = managementService.createJobQuery().singleResult(); Assert.assertEquals(9, job.getRetries()); }
.moveToActivity("serviceTask2") .intermediateThrowEvent("compensationEvent") .compensateEventDefinition() .waitForCompletion(true) .compensateEventDefinitionDone()
public static BpmnModelInstance prepareSignalEventProcess() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .signal(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); return modelInstance; }
public static BpmnModelInstance prepareCompensationEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .subProcess("subProcess") .embeddedSubProcess() .startEvent() .endEvent() .subProcessDone() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .compensateEventDefinition() .compensateEventDefinitionDone() .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); }
private BpmnModelInstance prepareSignalEventProcessWithoutRetry() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .signal("start") .serviceTask() .camundaClass(FAILING_CLASS) .endEvent() .done(); return modelInstance; }
public void testRetryOnServiceTaskLikeMessageThrowEvent() { // given BpmnModelInstance bpmnModelInstance = Bpmn.createExecutableProcess("process") .startEvent() .intermediateThrowEvent() .camundaAsyncBefore() .camundaFailedJobRetryTimeCycle("R10/PT5S") .messageEventDefinition("messageDefinition") .message("message") .messageEventDefinitionDone() .endEvent() .done(); MessageEventDefinition messageDefinition = bpmnModelInstance.getModelElementById("messageDefinition"); messageDefinition.setCamundaClass(FailingDelegate.class.getName()); deployment(bpmnModelInstance); runtimeService.startProcessInstanceByKey("process"); Job job = managementService.createJobQuery().singleResult(); // when job fails try { managementService.executeJob(job.getId()); } catch (Exception e) { // ignore } // then job = managementService.createJobQuery().singleResult(); Assert.assertEquals(9, job.getRetries()); }
public SagaBuilder triggerCompensationOnAnyError() { process.eventSubProcess() .startEvent("ErrorCatched").error("java.lang.Throwable") .intermediateThrowEvent("ToBeCompensated").compensateEventDefinition().compensateEventDefinitionDone() .endEvent("ErrorHandled"); return this; }
public static BpmnModelInstance prepareMessageEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .message(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .done(); }
public static BpmnModelInstance prepareEscalationEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .escalation(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .endEvent() .done(); }
public AbstractThrowEventBuilder throwEventDefinitionDone() { ModelElementInstance lastEvent = element.getDomElement().getParentElement().getModelElementInstance(); if (lastEvent != null && lastEvent instanceof IntermediateThrowEvent) { return new IntermediateThrowEventBuilder(modelInstance, (IntermediateThrowEvent) lastEvent); } else if (lastEvent != null && lastEvent instanceof EndEvent) { return new EndEventBuilder(modelInstance, (EndEvent) lastEvent); } else { throw new BpmnModelException("Unable to find a parent event."); } }
.moveToActivity("serviceTask2") .intermediateThrowEvent("compensationEvent") .compensateEventDefinition() .waitForCompletion(true) .compensateEventDefinitionDone()
@Override public IntermediateThrowEventBuilder builder() { return new IntermediateThrowEventBuilder((BpmnModelInstance) modelInstance, this); } }
.intermediateThrowEvent().compensateEventDefinition().compensateEventDefinitionDone() .endEvent();
@Override public IntermediateThrowEventBuilder builder() { return new IntermediateThrowEventBuilder((BpmnModelInstance) modelInstance, this); } }