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 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()); }