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(); }
@Deployment public static WebArchive createProcessApplication() { BpmnModelInstance process = Bpmn.createExecutableProcess(TEST_PROCESS) .startEvent() .serviceTask() .camundaDelegateExpression("${bpmnElementRetrievalDelegate}") .done(); return initWebArchiveDeployment() .addClass(BpmnElementRetrievalDelegate.class) .addAsResource(new StringAsset(Bpmn.convertToString(process)), "testProcess.bpmn20.xml"); }
@Test public void testChangeTaskConfiguration() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ExternalTaskModels.ONE_EXTERNAL_TASK_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(modify(ExternalTaskModels.ONE_EXTERNAL_TASK_PROCESS) .serviceTaskBuilder("externalTask") .camundaTopic("new" + ExternalTaskModels.TOPIC) .camundaTaskPriority(Integer.toString(ExternalTaskModels.PRIORITY * 2)) .done()); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("externalTask", "externalTask") .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); // when testHelper.migrateProcessInstance(migrationPlan, processInstance); // then the task's topic and priority have not changed ExternalTask externalTaskAfterMigration = rule.getExternalTaskService().createExternalTaskQuery().singleResult(); Assert.assertEquals(ExternalTaskModels.PRIORITY.longValue(), externalTaskAfterMigration.getPriority()); Assert.assertEquals(ExternalTaskModels.TOPIC, externalTaskAfterMigration.getTopicName()); }
@Test public void shouldOpenNewCommandContextWhenInteractingWithOtherEngineAndBack() { BpmnModelInstance process1 = Bpmn.createExecutableProcess("process1") .startEvent() .serviceTask() .camundaInputParameter("engineName", "engine2") .camundaInputParameter("processKey", "process2") .camundaClass(StartProcessInstanceOnEngineDelegate.class.getName()) .endEvent() .done(); BpmnModelInstance process2 = Bpmn.createExecutableProcess("process2") .startEvent() .serviceTask() .camundaInputParameter("engineName", "engine1") .camundaInputParameter("processKey", "process3") .camundaClass(StartProcessInstanceOnEngineDelegate.class.getName()) .done(); BpmnModelInstance process3 = Bpmn.createExecutableProcess("process3") .startEvent() .endEvent() .done(); // given engine1.getRepositoryService().createDeployment().addModelInstance("process1.bpmn", process1).deploy(); engine2.getRepositoryService().createDeployment().addModelInstance("process2.bpmn", process2).deploy(); engine1.getRepositoryService().createDeployment().addModelInstance("process3.bpmn", process3).deploy(); // if engine1.getRuntimeService().startProcessInstanceByKey("process1"); }
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(); }
@Test public void testChangeTaskConfiguration() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ExternalTaskModels.ONE_EXTERNAL_TASK_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(modify(ExternalTaskModels.ONE_EXTERNAL_TASK_PROCESS) .serviceTaskBuilder("externalTask") .camundaTopic("new" + ExternalTaskModels.TOPIC) .camundaTaskPriority(Integer.toString(ExternalTaskModels.PRIORITY * 2)) .done()); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("externalTask", "externalTask") .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); // when testHelper.migrateProcessInstance(migrationPlan, processInstance); // then the task's topic and priority have not changed ExternalTask externalTaskAfterMigration = rule.getExternalTaskService().createExternalTaskQuery().singleResult(); Assert.assertEquals(ExternalTaskModels.PRIORITY.longValue(), externalTaskAfterMigration.getPriority()); Assert.assertEquals(ExternalTaskModels.TOPIC, externalTaskAfterMigration.getTopicName()); }
@Test public void shouldOpenNewCommandContextWhenInteractingWithOtherEngineAndBack() { BpmnModelInstance process1 = Bpmn.createExecutableProcess("process1") .startEvent() .serviceTask() .camundaInputParameter("engineName", "engine2") .camundaInputParameter("processKey", "process2") .camundaClass(StartProcessInstanceOnEngineDelegate.class.getName()) .endEvent() .done(); BpmnModelInstance process2 = Bpmn.createExecutableProcess("process2") .startEvent() .serviceTask() .camundaInputParameter("engineName", "engine1") .camundaInputParameter("processKey", "process3") .camundaClass(StartProcessInstanceOnEngineDelegate.class.getName()) .done(); BpmnModelInstance process3 = Bpmn.createExecutableProcess("process3") .startEvent() .endEvent() .done(); // given engine1.getRepositoryService().createDeployment().addModelInstance("process1.bpmn", process1).deploy(); engine2.getRepositoryService().createDeployment().addModelInstance("process2.bpmn", process2).deploy(); engine1.getRepositoryService().createDeployment().addModelInstance("process3.bpmn", process3).deploy(); // if engine1.getRuntimeService().startProcessInstanceByKey("process1"); }