public void testInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent() .done(); processBuilder.eventSubProcess() .startEvent().timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
public void testNonInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent().done(); processBuilder.eventSubProcess() .startEvent().interrupting(false).timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
public SagaBuilder triggerCompensationOnAnyError() { process.eventSubProcess() .startEvent("ErrorCatched").error("java.lang.Throwable") .intermediateThrowEvent("ToBeCompensated").compensateEventDefinition().compensateEventDefinitionDone() .endEvent("ErrorHandled"); return this; }
public void testInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent() .done(); processBuilder.eventSubProcess() .startEvent().timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
public void testNonInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent().done(); processBuilder.eventSubProcess() .startEvent().interrupting(false).timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
.startEvent().error("java.lang.Throwable") .intermediateThrowEvent().compensateEventDefinition().compensateEventDefinitionDone() .endEvent();