public void suspendProcessDefinitionById(String processDefinitionId) { updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinitionId) .suspend(); }
public void suspendProcessDefinitionById(String processDefinitionId) { updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinitionId) .suspend(); }
public void suspendProcessDefinitionById(String processDefinitionId, boolean suspendProcessInstances, Date suspensionDate) { updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinitionId) .includeProcessInstances(suspendProcessInstances) .executionDate(suspensionDate) .suspend(); }
public void suspendProcessDefinitionById(String processDefinitionId, boolean suspendProcessInstances, Date suspensionDate) { updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinitionId) .includeProcessInstances(suspendProcessInstances) .executionDate(suspensionDate) .suspend(); }
public void suspendProcessDefinitionByKey(String processDefinitionKey, boolean suspendProcessInstances, Date suspensionDate) { updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .includeProcessInstances(suspendProcessInstances) .executionDate(suspensionDate) .suspend(); }
public void suspendProcessDefinitionByKey(String processDefinitionKey, boolean suspendProcessInstances, Date suspensionDate) { updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .includeProcessInstances(suspendProcessInstances) .executionDate(suspensionDate) .suspend(); }
protected void scheduleProcessDefinitionActivation(CommandContext commandContext, DeploymentEntity deployment) { if (deploymentBuilder.getProcessDefinitionsActivationDate() != null) { RepositoryService repositoryService = commandContext.getProcessEngineConfiguration().getRepositoryService(); for (ProcessDefinition processDefinition: deployment.getDeployedProcessDefinitions()) { // If activation date is set, we first suspend all the process definition repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .suspend(); // And we schedule an activation at the provided date repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .executionDate(deploymentBuilder.getProcessDefinitionsActivationDate()) .activate(); } } }
protected void scheduleProcessDefinitionActivation(CommandContext commandContext, DeploymentEntity deployment) { if (deploymentBuilder.getProcessDefinitionsActivationDate() != null) { RepositoryService repositoryService = commandContext.getProcessEngineConfiguration().getRepositoryService(); for (ProcessDefinition processDefinition: deployment.getDeployedProcessDefinitions()) { // If activation date is set, we first suspend all the process definition repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .suspend(); // And we schedule an activation at the provided date repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .executionDate(deploymentBuilder.getProcessDefinitionsActivationDate()) .activate(); } } }
@Test public void suspendProcessDefinitionForNonTenant() { // given activated process definitions ProcessDefinitionQuery query = engineRule.getRepositoryService().createProcessDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .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 suspendProcessDefinitionForTenant() { // given activated process definitions ProcessDefinitionQuery query = engineRule.getRepositoryService().createProcessDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .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)); }
@Test public void suspendProcessDefinitionIncludingJobDefinitionsForNonTenant() { // given activated jobs JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .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 suspendProcessDefinitionIncludingJobDefinitionsForTenant() { // given activated jobs JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .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)); }
@Test public void suspendProcessDefinitionIncludeInstancesForNonTenant() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .includeProcessInstances(true) .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void suspendProcessDefinitionIncludeInstancesForTenant() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionTenantId(TENANT_ONE) .includeProcessInstances(true) .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void delayedSuspendProcessDefinitionsForAllTenants() { // given activated process definitions engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .executionDate(tomorrow()) .suspend(); ProcessDefinitionQuery query = engineRule.getRepositoryService().createProcessDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); // when execute the job to suspend the process definitions Job job = engineRule.getManagementService().createJobQuery().timers().singleResult(); assertThat(job, is(notNullValue())); engineRule.getManagementService().executeJob(job.getId()); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); }
@Test public void delayedSuspendProcessDefinitionsForTenant() { // given activated process definitions engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionTenantId(TENANT_ONE) .executionDate(tomorrow()) .suspend(); ProcessDefinitionQuery query = engineRule.getRepositoryService().createProcessDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); // when execute the job to suspend the process definition Job job = engineRule.getManagementService().createJobQuery().timers().singleResult(); assertThat(job, is(notNullValue())); engineRule.getManagementService().executeJob(job.getId()); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void delayedSuspendProcessDefinitionsForNonTenant() { // given activated process definitions engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .executionDate(tomorrow()) .suspend(); ProcessDefinitionQuery query = engineRule.getRepositoryService().createProcessDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); // when execute the job to suspend the process definition Job job = engineRule.getManagementService().createJobQuery().timers().singleResult(); assertThat(job, is(notNullValue())); engineRule.getManagementService().executeJob(job.getId()); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testDelayedSuspendProcessDefinitionUsingBuilder() { ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); // suspend process definition in one week from now long oneWeekFromStartTime = new Date().getTime() + (7 * 24 * 60 * 60 * 1000); repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .executionDate(new Date(oneWeekFromStartTime)) .suspend(); processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); assertFalse(processDefinition.isSuspended()); // execute the suspension job Job job = managementService.createJobQuery().singleResult(); assertNotNull(job); managementService.executeJob(job.getId()); processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); assertTrue(processDefinition.isSuspended()); }
@Test public void failToSuspendProcessDefinitionByIdNoAuthenticatedTenants() { ProcessDefinition processDefinition = engineRule.getRepositoryService().createProcessDefinitionQuery() .processDefinitionKey(PROCESS_DEFINITION_KEY).tenantIdIn(TENANT_ONE).singleResult(); // declare expected exception thrown.expect(ProcessEngineException.class); thrown.expectMessage("Cannot update the process definition '"+ processDefinition.getId() + "' because it belongs to no authenticated tenant"); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .suspend(); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/repository/processOne.bpmn20.xml"}) public void testSuspendAndActivateProcessDefinitionByIdUsingBuilder() { ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); assertFalse(processDefinition.isSuspended()); // suspend repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .suspend(); processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); assertTrue(processDefinition.isSuspended()); // activate repositoryService .updateProcessDefinitionSuspensionState() .byProcessDefinitionId(processDefinition.getId()) .activate(); processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); assertFalse(processDefinition.isSuspended()); }