org.camunda.bpm.engine.RepositoryService.suspendProcessDefinitionById()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(15.0k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中org.camunda.bpm.engine.RepositoryService.suspendProcessDefinitionById方法的一些代码示例,展示了RepositoryService.suspendProcessDefinitionById的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.suspendProcessDefinitionById方法的具体详情如下:
包路径:org.camunda.bpm.engine.RepositoryService
类名称:RepositoryService
方法名:suspendProcessDefinitionById

RepositoryService.suspendProcessDefinitionById介绍

[英]Suspends the process definition with the given id. If a process definition is in state suspended, it will not be possible to start new process instances based on the process definition. Note: all the process instances of the process definition will still be active (ie. not suspended)!

Note: for more complex suspend commands use #updateProcessDefinitionSuspensionState().
[中]挂起具有给定id的流程定义。如果流程定义处于挂起状态,则无法基于流程定义启动新的流程实例。注意:流程定义的所有流程实例仍将处于活动状态(即未暂停)!
注意:对于更复杂的挂起命令,请使用#updateProcessDefinitionSuspendionState()。

代码示例

代码示例来源:origin: camunda/camunda-bpm-platform

public Void call() throws Exception {
  repositoryService.suspendProcessDefinitionById(processDefinitionId);
  return null;
 }
});

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/MessageCorrelationTest.testMessageStartEventCorrelation.bpmn20.xml")
@Test
public void testSuspendedProcessDefinition() {
 String processDefinitionId = repositoryService.createProcessDefinitionQuery().singleResult().getId();
 repositoryService.suspendProcessDefinitionById(processDefinitionId);
 Map<String, Object> variables = new HashMap<String, Object>();
 variables.put("aKey", "aValue");
 try {
  runtimeService.correlateMessage("newInvoiceMessage", new HashMap<String, Object>(), variables);
  fail("It should not be possible to correlate a message to a suspended process definition.");
 } catch (MismatchingMessageCorrelationException e) {
  // expected
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Test
public void testSuspendProcessDefinitionExcludingInstances() {
 Map<String, Object> params = new HashMap<String, Object>();
 params.put("suspended", true);
 params.put("includeProcessInstances", false);
 given()
  .pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)
  .contentType(ContentType.JSON)
  .body(params)
 .then()
  .expect()
   .statusCode(Status.NO_CONTENT.getStatusCode())
  .when()
   .put(SINGLE_PROCESS_DEFINITION_SUSPENDED_URL);
 verify(repositoryServiceMock).suspendProcessDefinitionById(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID, false, null);
}

代码示例来源:origin: camunda/camunda-bpm-platform

public void testSuspendProcessDefinitionById() {
 // given
 String processDefinitionId = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY).getId();
 createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, UPDATE);
 // when
 repositoryService.suspendProcessDefinitionById(processDefinitionId);
 // then
 ProcessDefinition definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY);
 assertTrue(definition.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={"org/camunda/bpm/engine/test/api/repository/processOne.bpmn20.xml"})
public void testSuspendAlreadySuspendedProcessDefinition() {
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 assertFalse(processDefinition.isSuspended());
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 try {
  repositoryService.suspendProcessDefinitionById(processDefinition.getId());
  processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
  assertTrue(processDefinition.isSuspended());
 } catch (Exception e) {
  fail("Should be successful");
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={
    "org/camunda/bpm/engine/test/api/repository/processOne.bpmn20.xml",
    "org/camunda/bpm/engine/test/api/repository/processTwo.bpmn20.xml"
    })
public void testQueryForActiveDefinitions() {
 // default = all definitions
 List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery()
  .list();
 assertEquals(2, processDefinitionList.size());
 assertEquals(2, repositoryService.createProcessDefinitionQuery().active().count());
 ProcessDefinition processDefinition = processDefinitionList.get(0);
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 assertEquals(2, repositoryService.createProcessDefinitionQuery().count());
 assertEquals(1, repositoryService.createProcessDefinitionQuery().active().count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={
    "org/camunda/bpm/engine/test/api/repository/processOne.bpmn20.xml",
    "org/camunda/bpm/engine/test/api/repository/processTwo.bpmn20.xml"
    })
public void testQueryForSuspendedDefinitions() {
 // default = all definitions
 List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery()
  .list();
 assertEquals(2, processDefinitionList.size());
 assertEquals(2, repositoryService.createProcessDefinitionQuery().active().count());
 ProcessDefinition processDefinition = processDefinitionList.get(0);
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 assertEquals(2, repositoryService.createProcessDefinitionQuery().count());
 assertEquals(1, repositoryService.createProcessDefinitionQuery().suspended().count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Test
@Deployment(resources = {ONE_TASK_PROCESS})
public void testQueryProcessDefinitionOperationsById() {
 // given
 process = runtimeService.startProcessInstanceByKey("oneTaskProcess");
 // when
 repositoryService.suspendProcessDefinitionById(process.getProcessDefinitionId(), true, null);
 repositoryService.activateProcessDefinitionById(process.getProcessDefinitionId(), true, null);
 // then
 assertEquals(0, query().entityType(PROCESS_DEFINITION).count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

public void testSuspendProcessDefinitionByIdIncludingInstancesWithUpdateInstancePermissionOnProcessDefinition() {
 // given
 String processDefinitionId = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY).getId();
 createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, UPDATE, UPDATE_INSTANCE);
 startProcessInstanceByKey(ONE_TASK_PROCESS_KEY);
 // when
 repositoryService.suspendProcessDefinitionById(processDefinitionId, true, null);
 // then
 ProcessDefinition definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY);
 assertTrue(definition.isSuspended());
 ProcessInstance instance = selectSingleProcessInstance();
 assertTrue(instance.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

public void testSuspendProcessDefinitionByIdWithoutAuthorization() {
 // given
 String processDefinitionId = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY).getId();
 try {
  // when
  repositoryService.suspendProcessDefinitionById(processDefinitionId);
  fail("Exception expected: It should not be possible to suspend the process definition");
 } catch (AuthorizationException e) {
  // then
  String message = e.getMessage();
  assertTextPresent(userId, message);
  assertTextPresent(UPDATE.getName(), message);
  assertTextPresent(ONE_TASK_PROCESS_KEY, message);
  assertTextPresent(PROCESS_DEFINITION.resourceName(), message);
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

public void testSuspendProcessDefinitionByIdIncludingInstancesWithUpdatePermissionOnAnyProcessInstance() {
 // given
 String processDefinitionId = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY).getId();
 createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, UPDATE);
 startProcessInstanceByKey(ONE_TASK_PROCESS_KEY);
 createGrantAuthorization(PROCESS_INSTANCE, ANY, userId, UPDATE);
 // when
 repositoryService.suspendProcessDefinitionById(processDefinitionId, true, null);
 // then
 ProcessDefinition definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY);
 assertTrue(definition.isSuspended());
 ProcessInstance instance = selectSingleProcessInstance();
 assertTrue(instance.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment
public void testJobIsExecutedOnProcessDefinitionSuspend() {
 Date now = new Date();
 ClockUtil.setCurrentTime(now);
 // Suspending the process definition should not stop the execution of jobs
 // Added this test because in previous implementations, this was the case.
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 runtimeService.startProcessInstanceById(processDefinition.getId());
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 assertEquals(1, managementService.createJobQuery().count());
 // The jobs should simply be executed
 Job job = managementService.createJobQuery().singleResult();
 managementService.executeJob(job.getId());
 assertEquals(0, managementService.createJobQuery().count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources = {"org/camunda/bpm/engine/test/bpmn/event/signal/SignalEventTest.signalStartEvent.bpmn20.xml"})
@Test
public void testSuspendedProcessWithSignalStartEvent() {
 // event subscription for signal start event
 assertEquals(1, runtimeService.createEventSubscriptionQuery().eventType("signal").eventName("alert").count());
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 runtimeService.signalEventReceived("alert");
 // the signal should not start a process instance for the suspended process definition
 assertEquals(0, taskService.createTaskQuery().count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources = {"org/camunda/bpm/engine/test/api/repository/ProcessDefinitionSuspensionTest.testSuspendStartTimerOnProcessDefinitionSuspension.bpmn20.xml"})
public void testSuspendStartTimerOnProcessDefinitionSuspensionById() {
 ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().singleResult();
 Job startTimer = managementService.createJobQuery().timers().singleResult();
 assertFalse(startTimer.isSuspended());
 // when
 repositoryService.suspendProcessDefinitionById(pd.getId());
 // then
 // refresh job
 startTimer = managementService.createJobQuery().timers().singleResult();
 assertTrue(startTimer.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources = {
  "org/camunda/bpm/engine/test/bpmn/event/signal/SignalEventTest.signalStartEvent.bpmn20.xml",
  "org/camunda/bpm/engine/test/bpmn/event/signal/SignalEventTests.throwAlertSignal.bpmn20.xml"})
@Test
public void testIntermediateThrowingSignalEventWithSuspendedSignalStartEvent() {
 // event subscription for signal start event
 assertEquals(1, runtimeService.createEventSubscriptionQuery().eventType("signal").eventName("alert").count());
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("startBySignal").singleResult();
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 // start a process instance to throw a signal
 runtimeService.startProcessInstanceByKey("throwSignal");
 // the signal should not start a new process instance of the suspended process definition
 assertEquals(0, taskService.createTaskQuery().count());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={"org/camunda/bpm/engine/test/api/repository/processOne.bpmn20.xml"})
public void testSuspendActivateProcessDefinitionById() {
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 assertFalse(processDefinition.isSuspended());
 // suspend
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 assertTrue(processDefinition.isSuspended());
 // activate
 repositoryService.activateProcessDefinitionById(processDefinition.getId());
 processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 assertFalse(processDefinition.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources = {"org/camunda/bpm/engine/test/api/repository/ProcessDefinitionSuspensionTest.testSuspendStartTimerOnProcessDefinitionSuspension.bpmn20.xml"})
public void testActivateStartTimerOnProcessDefinitionSuspensionById() {
 ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().singleResult();
 repositoryService.suspendProcessDefinitionById(pd.getId());
 Job startTimer = managementService.createJobQuery().timers().singleResult();
 assertTrue(startTimer.isSuspended());
 // when
 repositoryService.activateProcessDefinitionById(pd.getId());
 // then
 // refresh job
 startTimer = managementService.createJobQuery().timers().singleResult();
 assertFalse(startTimer.isSuspended());
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"})
public void testStartBeforeActivityForSuspendProcessDefinition() {
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 //start process instance
 runtimeService.startProcessInstanceById(processDefinition.getId());
 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult();
 // Suspend process definition
 repositoryService.suspendProcessDefinitionById(processDefinition.getId(), true, null);
 // try to start before activity for suspended processDefinition
 try {
  runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("theTask").execute();
  fail("Exception is expected but not thrown");
 } catch(SuspendedEntityInteractionException e) {
  assertTextPresentIgnoreCase("is suspended", e.getMessage());
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"})
public void testStartAfterActivityForSuspendProcessDefinition() {
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 //start process instance
 runtimeService.startProcessInstanceById(processDefinition.getId());
 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult();
 // Suspend process definition
 repositoryService.suspendProcessDefinitionById(processDefinition.getId(), true, null);
 // try to start after activity for suspended processDefinition
 try {
  runtimeService.createProcessInstanceModification(processInstance.getId()).startAfterActivity("theTask").execute();
  fail("Exception is expected but not thrown");
 } catch(SuspendedEntityInteractionException e) {
  assertTextPresentIgnoreCase("is suspended", e.getMessage());
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"})
public void testContinueProcessAfterProcessDefinitionSuspend() {
 // Start Process Instance
 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
 runtimeService.startProcessInstanceByKey(processDefinition.getKey());
 // Verify one task is created
 Task task = taskService.createTaskQuery().singleResult();
 assertNotNull(task);
 assertEquals(1, runtimeService.createProcessInstanceQuery().count());
 // Suspend process definition
 repositoryService.suspendProcessDefinitionById(processDefinition.getId());
 // Process should be able to continue
 taskService.complete(task.getId());
 assertEquals(0, runtimeService.createProcessInstanceQuery().count());
}

相关文章

微信公众号

最新文章

更多

RepositoryService类方法