public void suspendJobById(String jobId) { updateJobSuspensionState() .byJobId(jobId) .suspend(); }
public void suspendJobByProcessInstanceId(String processInstanceId) { updateJobSuspensionState() .byProcessInstanceId(processInstanceId) .suspend(); }
public void suspendJobByJobDefinitionId(String jobDefinitionId) { updateJobSuspensionState() .byJobDefinitionId(jobDefinitionId) .suspend(); }
public void suspendJobByProcessDefinitionId(String processDefinitionId) { updateJobSuspensionState() .byProcessDefinitionId(processDefinitionId) .suspend(); }
public void suspendJobById(String jobId) { updateJobSuspensionState() .byJobId(jobId) .suspend(); }
public void suspendJobByJobDefinitionId(String jobDefinitionId) { updateJobSuspensionState() .byJobDefinitionId(jobDefinitionId) .suspend(); }
public void suspendJobByProcessInstanceId(String processInstanceId) { updateJobSuspensionState() .byProcessInstanceId(processInstanceId) .suspend(); }
public void suspendJobByProcessDefinitionId(String processDefinitionId) { updateJobSuspensionState() .byProcessDefinitionId(processDefinitionId) .suspend(); }
@Override public void updateSuspensionState(ProcessEngine engine) { int params = (jobId != null ? 1 : 0) + (jobDefinitionId != null ? 1 : 0) + (processInstanceId != null ? 1 : 0) + (processDefinitionId != null ? 1 : 0) + (processDefinitionKey != null ? 1 : 0); if (params > 1) { String message = "Only one of jobId, jobDefinitionId, processInstanceId, processDefinitionId or processDefinitionKey should be set to update the suspension state."; throw new InvalidRequestException(Status.BAD_REQUEST, message); } else if(params == 0) { String message = "Either jobId, jobDefinitionId, processInstanceId, processDefinitionId or processDefinitionKey should be set to update the suspension state."; throw new InvalidRequestException(Status.BAD_REQUEST, message); } UpdateJobSuspensionStateBuilder updateSuspensionStateBuilder = createUpdateSuspensionStateBuilder(engine); if(getSuspended()) { updateSuspensionStateBuilder.suspend(); } else { updateSuspensionStateBuilder.activate(); } }
@Override public void updateSuspensionState(ProcessEngine engine) { int params = (jobId != null ? 1 : 0) + (jobDefinitionId != null ? 1 : 0) + (processInstanceId != null ? 1 : 0) + (processDefinitionId != null ? 1 : 0) + (processDefinitionKey != null ? 1 : 0); if (params > 1) { String message = "Only one of jobId, jobDefinitionId, processInstanceId, processDefinitionId or processDefinitionKey should be set to update the suspension state."; throw new InvalidRequestException(Status.BAD_REQUEST, message); } else if(params == 0) { String message = "Either jobId, jobDefinitionId, processInstanceId, processDefinitionId or processDefinitionKey should be set to update the suspension state."; throw new InvalidRequestException(Status.BAD_REQUEST, message); } UpdateJobSuspensionStateBuilder updateSuspensionStateBuilder = createUpdateSuspensionStateBuilder(engine); if(getSuspended()) { updateSuspensionStateBuilder.suspend(); } else { updateSuspensionStateBuilder.activate(); } }
@Test public void suspendJobsForNonTenant() { // given activated jobs JobQuery query = engineRule.getManagementService().createJobQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getManagementService() .updateJobSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void suspendJobForTenant() { // given activated jobs JobQuery query = engineRule.getManagementService().createJobQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getManagementService() .updateJobSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionTenantId(TENANT_ONE) .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE).count(), is(1L)); }
public void suspendJobByJobDefinitionId(String jobDefinitionId) { updateJobSuspensionState() .byJobDefinitionId(jobDefinitionId) .suspend(); }
public void suspendJobByProcessInstanceId(String processInstanceId) { updateJobSuspensionState() .byProcessInstanceId(processInstanceId) .suspend(); }
public void suspendJobById(String jobId) { updateJobSuspensionState() .byJobId(jobId) .suspend(); }
public void suspendJobByProcessDefinitionId(String processDefinitionId) { updateJobSuspensionState() .byProcessDefinitionId(processDefinitionId) .suspend(); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/SuspensionTest.testBase.bpmn"}) public void testSuspensionByProcessInstanceIdUsingBuilder() { // given // a running process instance with a failed job ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("suspensionProcess", Variables.createVariables().putValue("fail", true)); // the failed job JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.active().count()); // when // the job will be suspended managementService .updateJobSuspensionState() .byProcessInstanceId(processInstance.getId()) .suspend(); // then // the job should be suspended assertEquals(0, jobQuery.active().count()); assertEquals(1, jobQuery.suspended().count()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/SuspensionTest.testBase.bpmn"}) public void testSuspensionByIdUsingBuilder() { // given // a running process instance with a failed job runtimeService.startProcessInstanceByKey("suspensionProcess", Variables.createVariables().putValue("fail", true)); // the failed job JobQuery jobQuery = managementService.createJobQuery(); Job job = jobQuery.singleResult(); assertFalse(job.isSuspended()); // when // the job will be suspended managementService .updateJobSuspensionState() .byJobId(job.getId()) .suspend(); // then // the job should be suspended assertEquals(0, jobQuery.active().count()); assertEquals(1, jobQuery.suspended().count()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/SuspensionTest.testBase.bpmn"}) public void testSuspensionByJobDefinitionIdUsingBuilder() { // given // a running process instance with a failed job runtimeService.startProcessInstanceByKey("suspensionProcess", Variables.createVariables().putValue("fail", true)); // the failed job JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.active().count()); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // when // the job will be suspended managementService .updateJobSuspensionState() .byJobDefinitionId(jobDefinition.getId()) .suspend(); // then // the job should be suspended assertEquals(0, jobQuery.active().count()); assertEquals(1, jobQuery.suspended().count()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/SuspensionTest.testBase.bpmn"}) public void testSuspensionByProcessDefinitionIdUsingBuilder() { // given // a running process instance with a failed job runtimeService.startProcessInstanceByKey("suspensionProcess", Variables.createVariables().putValue("fail", true)); // the failed job JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.active().count()); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); // when // the job will be suspended managementService .updateJobSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .suspend(); // then // the job should be suspended assertEquals(0, jobQuery.active().count()); assertEquals(1, jobQuery.suspended().count()); }