org.camunda.bpm.engine.runtime.Job.getExecutionId()方法的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(18.8k)|赞(0)|评价(0)|浏览(85)

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

Job.getExecutionId介绍

[英]Returns the specific execution on which the job was created.
[中]返回创建作业的特定执行。

代码示例

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

public Job build() {
  Job mockJob = mock(Job.class);
  when(mockJob.getId()).thenReturn(id);
  when(mockJob.getDuedate()).thenReturn(dueDate);
  when(mockJob.getExceptionMessage()).thenReturn(exceptionMessage);
  when(mockJob.getExecutionId()).thenReturn(executionId);
  when(mockJob.getProcessInstanceId()).thenReturn(processInstanceId);
  when(mockJob.getProcessDefinitionId()).thenReturn(processDefinitionId);
  when(mockJob.getProcessDefinitionKey()).thenReturn(processDefinitionKey);
  when(mockJob.getRetries()).thenReturn(retries);
  when(mockJob.isSuspended()).thenReturn(suspended);
  when(mockJob.getPriority()).thenReturn(priority);
  when(mockJob.getJobDefinitionId()).thenReturn(jobDefinitionId);
  when(mockJob.getTenantId()).thenReturn(tenantId);
  when(mockJob.getCreateTime()).thenReturn(createTime);
  return mockJob;
}

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

@Test
@OperateOnDeployment("app")
public void testInvokeProcessApplicationWithContextOnAsyncExecution() {
 runtimeService.startProcessInstanceByKey("timerProcess");
 ProcessApplicationWithInvocationContext.clearInvocationContext();
 Job timer = managementService.createJobQuery().timers().singleResult();
 assertThat(timer, is(notNullValue()));
 long dueDate = timer.getDuedate().getTime();
 Date afterDueDate = new Date(dueDate + 1000 * 60);
 ClockUtil.setCurrentTime(afterDueDate);
 waitForJobExecutorToProcessAllJobs();
 InvocationContext invocationContext = ProcessApplicationWithInvocationContext.getInvocationContext();
 assertThat(invocationContext, is(notNullValue()));
 assertThat(invocationContext.getExecution(), is(notNullValue()));
 assertThat(invocationContext.getExecution().getId(), is(timer.getExecutionId()));
}

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

public static JobDto fromJob(Job job) {
 JobDto dto = new JobDto();
 dto.id = job.getId();
 dto.jobDefinitionId = job.getJobDefinitionId();
 dto.processInstanceId = job.getProcessInstanceId();
 dto.processDefinitionId = job.getProcessDefinitionId();
 dto.processDefinitionKey = job.getProcessDefinitionKey();
 dto.executionId = job.getExecutionId();
 dto.exceptionMessage = job.getExceptionMessage();
 dto.retries = job.getRetries();
 dto.dueDate = job.getDuedate();
 dto.suspended = job.isSuspended();
 dto.priority = job.getPriority();
 dto.tenantId = job.getTenantId();
 dto.createTime = job.getCreateTime();
 return dto;
}

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

@Deployment(resources = {"org/camunda/bpm/engine/test/history/HistoricJobLogTest.testAsyncContinuation.bpmn20.xml"})
public void testQueryByExecutionId() {
 runtimeService.startProcessInstanceByKey("process");
 String executionId = managementService.createJobQuery().singleResult().getExecutionId();
 HistoricJobLogQuery query = historyService.createHistoricJobLogQuery().executionIdIn(executionId);
 verifyQueryResults(query, 1);
}

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

public static JobDto fromJob(Job job) {
 JobDto dto = new JobDto();
 dto.id = job.getId();
 dto.jobDefinitionId = job.getJobDefinitionId();
 dto.processInstanceId = job.getProcessInstanceId();
 dto.processDefinitionId = job.getProcessDefinitionId();
 dto.processDefinitionKey = job.getProcessDefinitionKey();
 dto.executionId = job.getExecutionId();
 dto.exceptionMessage = job.getExceptionMessage();
 dto.retries = job.getRetries();
 dto.dueDate = job.getDuedate();
 dto.suspended = job.isSuspended();
 dto.priority = job.getPriority();
 dto.tenantId = job.getTenantId();
 dto.createTime = job.getCreateTime();
 return dto;
}

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

@Deployment(resources={"org/camunda/bpm/engine/test/bpmn/async/processWithGatewayAndTwoEndEvents.bpmn20.xml"})
public void testGatewayWithTwoEndEventsLastJobReAssignedToParentExe() {
 String processKey = repositoryService.createProcessDefinitionQuery().singleResult().getKey();
 String processInstanceId = runtimeService.startProcessInstanceByKey(processKey).getId();
 List<Job> jobList = managementService.createJobQuery().processInstanceId(processInstanceId).list();
 // There should be two jobs
 assertNotNull(jobList);
 assertEquals(2, jobList.size());
 managementService.executeJob(jobList.get(0).getId());
 // There should be only one job left
 jobList = managementService.createJobQuery().list();
 assertEquals(1, jobList.size());
 // There should only be 1 execution left - the root execution
 assertEquals(1, runtimeService.createExecutionQuery().list().size());
 // root execution should be attached to the last job
 assertEquals(processInstanceId, jobList.get(0).getExecutionId());
 managementService.executeJob(jobList.get(0).getId());
 // There should be no more jobs
 jobList = managementService.createJobQuery().list();
 assertEquals(0, jobList.size());
}

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

@Deployment(resources={"org/camunda/bpm/engine/test/bpmn/async/processGatewayAndTwoEndEventsPlusTimer.bpmn20.xml"})
public void testGatewayWithTwoEndEventsLastTimerReAssignedToParentExe() {
 String processKey = repositoryService.createProcessDefinitionQuery().singleResult().getKey();
 String processInstanceId = runtimeService.startProcessInstanceByKey(processKey).getId();
 List<Job> jobList = managementService.createJobQuery().processInstanceId(processInstanceId).list();
 // There should be two jobs
 assertNotNull(jobList);
 assertEquals(2, jobList.size());
 // execute timer first
 String timerId = managementService.createJobQuery().timers().singleResult().getId();
 managementService.executeJob(timerId);
 // There should be only one job left
 jobList = managementService.createJobQuery().list();
 assertEquals(1, jobList.size());
 // There should only be 1 execution left - the root execution
 assertEquals(1, runtimeService.createExecutionQuery().list().size());
 // root execution should be attached to the last job
 assertEquals(processInstanceId, jobList.get(0).getExecutionId());
 // execute service task
 managementService.executeJob(jobList.get(0).getId());
 // There should be no more jobs
 jobList = managementService.createJobQuery().list();
 assertEquals(0, jobList.size());
}

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

@Test
public void testQueryByExecutionId() {
 Job job = managementService.createJobQuery().processInstanceId(processInstanceIdOne).singleResult();
 JobQuery query = managementService.createJobQuery().executionId(job.getExecutionId());
 assertEquals(query.singleResult().getId(), job.getId());
 verifyQueryResults(query, 1);
}

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

@Deployment
@Test
public void testActivityInstanceTreeForConcurrentAsyncBeforeTask() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("concurrentTasksProcess");
 ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
 assertThat(tree).hasStructure(
   describeActivityInstanceTree(processInstance.getProcessDefinitionId())
    .activity("theTask")
    .transition("asyncTask")
   .done());
 TransitionInstance asyncBeforeTransitionInstance = tree.getChildTransitionInstances()[0];
 String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
 assertEquals(asyncExecutionId, asyncBeforeTransitionInstance.getExecutionId());
}

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

@Deployment
@Test
public void testActivityInstanceTreeForNestedAsyncBeforeTask() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
 ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
 assertThat(tree).hasStructure(
   describeActivityInstanceTree(processInstance.getProcessDefinitionId())
    .beginScope("subProcess")
     .transition("theTask")
   .done());
 TransitionInstance asyncBeforeTransitionInstance = tree.getChildActivityInstances()[0]
   .getChildTransitionInstances()[0];
 String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
 assertEquals(asyncExecutionId, asyncBeforeTransitionInstance.getExecutionId());
}

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

@Deployment
@Test
public void testActivityInstanceTreeForNestedAsyncAfterEndEvent() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncEndEventProcess");
 ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
 assertThat(tree).hasStructure(
   describeActivityInstanceTree(processInstance.getProcessDefinitionId())
    .beginScope("subProcess")
     .transition("theSubProcessEnd")
   .done());
 TransitionInstance asyncAfterTransitionInstance = tree.getChildActivityInstances()[0]
   .getChildTransitionInstances()[0];
 String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
 assertEquals(asyncExecutionId, asyncAfterTransitionInstance.getExecutionId());
}

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

@Test
public void createDeletionJobsByIds() {
 // given
 rule.getProcessEngineConfiguration().setBatchJobsPerSeed(5);
 Batch batch = historyService.deleteHistoricDecisionInstancesAsync(decisionInstanceIds, null);
 JobDefinition seedJobDefinition = helper.getSeedJobDefinition(batch);
 JobDefinition deletionJobDefinition = helper.getExecutionJobDefinition(batch);;
 // when
 helper.executeSeedJob(batch);
 // then
 List<Job> deletionJobs = helper.getJobsForDefinition(deletionJobDefinition);
 assertEquals(5, deletionJobs.size());
 for (Job deletionJob : deletionJobs) {
  assertEquals(deletionJobDefinition.getId(), deletionJob.getJobDefinitionId());
  assertEquals(currentTime, deletionJob.getDuedate());
  assertNull(deletionJob.getProcessDefinitionId());
  assertNull(deletionJob.getProcessDefinitionKey());
  assertNull(deletionJob.getProcessInstanceId());
  assertNull(deletionJob.getExecutionId());
 }
 // and the seed job still exists
 Job seedJob = helper.getJobForDefinition(seedJobDefinition);
 assertNotNull(seedJob);
}

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

@Test
public void createModificationJobs() {
 ProcessDefinition processDefinition = testRule.deployAndGetDefinition(instance);
 rule.getProcessEngineConfiguration().setBatchJobsPerSeed(10);
 Batch batch = helper.startAfterAsync("process1", 20, "user1", processDefinition.getId());
 JobDefinition seedJobDefinition = helper.getSeedJobDefinition(batch);
 JobDefinition modificationJobDefinition = helper.getExecutionJobDefinition(batch);;
 helper.executeSeedJob(batch);
 List<Job> modificationJobs = helper.getJobsForDefinition(modificationJobDefinition);
 assertEquals(10, modificationJobs.size());
 for (Job modificationJob : modificationJobs) {
  assertEquals(modificationJobDefinition.getId(), modificationJob.getJobDefinitionId());
  assertEquals(currentTime, modificationJob.getDuedate());
  assertNull(modificationJob.getProcessDefinitionId());
  assertNull(modificationJob.getProcessDefinitionKey());
  assertNull(modificationJob.getProcessInstanceId());
  assertNull(modificationJob.getExecutionId());
 }
 // and the seed job still exists
 Job seedJob = helper.getJobForDefinition(seedJobDefinition);
 assertNotNull(seedJob);
}

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

/**
 * starting after a task should not respect that tasks asyncAfter setting
 */
@Deployment
public void testStartAfterAsync() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("exclusiveGateway");
 String processInstanceId = processInstance.getId();
 runtimeService
  .createProcessInstanceModification(processInstance.getId())
  .startAfterActivity("task2")
  .execute();
 // there is now a job for the end event after task2
 Job job = managementService.createJobQuery().singleResult();
 assertNotNull(job);
 Execution jobExecution = runtimeService.createExecutionQuery().activityId("end2").executionId(job.getExecutionId()).singleResult();
 assertNotNull(jobExecution);
 // end process
 completeTasksInOrder("task1");
 managementService.executeJob(job.getId());
 assertProcessEnded(processInstanceId);
}

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

@Deployment
@Test
public void testActivityInstanceTreeForNestedAsyncAfterTask() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
 Task task = taskService.createTaskQuery().singleResult();
 taskService.complete(task.getId());
 ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
 assertThat(tree).hasStructure(
   describeActivityInstanceTree(processInstance.getProcessDefinitionId())
    .beginScope("subProcess")
     .transition("theTask")
   .done());
 TransitionInstance asyncAfterTransitionInstance = tree.getChildActivityInstances()[0]
   .getChildTransitionInstances()[0];
 String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
 assertEquals(asyncExecutionId, asyncAfterTransitionInstance.getExecutionId());
}

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

@Test
public void testMigrationJobsCreation() {
 ClockUtil.setCurrentTime(TEST_DATE);
 // reduce number of batch jobs per seed to not have to create a lot of instances
 engineRule.getProcessEngineConfiguration().setBatchJobsPerSeed(10);
 Batch batch = helper.migrateProcessInstancesAsync(20);
 JobDefinition seedJobDefinition = helper.getSeedJobDefinition(batch);
 JobDefinition migrationJobDefinition = helper.getExecutionJobDefinition(batch);
 String sourceDeploymentId = helper.getSourceProcessDefinition().getDeploymentId();
 // when
 helper.executeSeedJob(batch);
 // then there exist migration jobs
 List<Job> migrationJobs = helper.getJobsForDefinition(migrationJobDefinition);
 assertEquals(10, migrationJobs.size());
 for (Job migrationJob : migrationJobs) {
  assertEquals(migrationJobDefinition.getId(), migrationJob.getJobDefinitionId());
  assertEquals(currentTime, migrationJob.getDuedate());
  assertEquals(sourceDeploymentId, migrationJob.getDeploymentId());
  assertNull(migrationJob.getProcessDefinitionId());
  assertNull(migrationJob.getProcessDefinitionKey());
  assertNull(migrationJob.getProcessInstanceId());
  assertNull(migrationJob.getExecutionId());
 }
 // and the seed job still exists
 Job seedJob = helper.getJobForDefinition(seedJobDefinition);
 assertNotNull(seedJob);
}

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

@Deployment
@Test
public void testActivityInstanceTreeForConcurrentAsyncAfterTask() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("concurrentTasksProcess");
 Task asyncTask = taskService.createTaskQuery().taskDefinitionKey("asyncTask").singleResult();
 assertNotNull(asyncTask);
 taskService.complete(asyncTask.getId());
 ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
 assertThat(tree).hasStructure(
   describeActivityInstanceTree(processInstance.getProcessDefinitionId())
    .activity("theTask")
    .transition("asyncTask")
   .done());
 TransitionInstance asyncBeforeTransitionInstance = tree.getChildTransitionInstances()[0];
 String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
 assertEquals(asyncExecutionId, asyncBeforeTransitionInstance.getExecutionId());
}

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

@Test
public void testVariableAtConcurrentExecutionInTransitionAddParentScope() {
 // given
 ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(AsyncProcessModels.ASYNC_BEFORE_USER_TASK_PROCESS);
 ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(AsyncProcessModels.ASYNC_BEFORE_SUBPROCESS_USER_TASK_PROCESS);
 MigrationPlan migrationPlan = rule.getRuntimeService()
   .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId())
   .mapActivities("userTask", "userTask")
   .build();
 ProcessInstance processInstance = rule.getRuntimeService()
   .createProcessInstanceById(sourceProcessDefinition.getId())
   .startBeforeActivity("userTask")
   .startBeforeActivity("userTask")
   .execute();
 Execution concurrentExecution = runtimeService.createExecutionQuery().activityId("userTask").list().get(0);
 Job jobForExecution = rule.getManagementService().createJobQuery().executionId(concurrentExecution.getId()).singleResult();
 runtimeService.setVariableLocal(concurrentExecution.getId(), "var", "value");
 // when
 testHelper.migrateProcessInstance(migrationPlan, processInstance);
 // then
 Job jobAfterMigration = rule.getManagementService().createJobQuery().jobId(jobForExecution.getId()).singleResult();
 testHelper.assertVariableMigratedToExecution(
   testHelper.snapshotBeforeMigration.getSingleVariable("var"),
   jobAfterMigration.getExecutionId());
}

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

@Deployment(resources = SUBPROCESS_BOUNDARY_EVENTS_PROCESS)
public void testStartBeforeEventSubscription() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("subprocess");
 runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("innerTask").execute();
 // then two timer jobs should have been created
 assertEquals(2, managementService.createJobQuery().count());
 Job innerJob = managementService.createJobQuery().activityId("innerTimer").singleResult();
 assertNotNull(innerJob);
 assertEquals(runtimeService.createExecutionQuery().activityId("innerTask").singleResult().getId(), innerJob.getExecutionId());
 Job outerJob = managementService.createJobQuery().activityId("outerTimer").singleResult();
 assertNotNull(outerJob);
 // when executing the jobs
 managementService.executeJob(innerJob.getId());
 Task innerBoundaryTask = taskService.createTaskQuery().taskDefinitionKey("innerAfterBoundaryTask").singleResult();
 assertNotNull(innerBoundaryTask);
 managementService.executeJob(outerJob.getId());
 Task outerBoundaryTask = taskService.createTaskQuery().taskDefinitionKey("outerAfterBoundaryTask").singleResult();
 assertNotNull(outerBoundaryTask);
}

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

@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/IncidentTest.testShouldCreateOneIncidentForNestedExecution.bpmn"})
public void testShouldCreateOneIncidentForNestedExecution() {
 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcessWithNestedExecutions");
 executeAvailableJobs();
 Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult();
 assertNotNull(incident);
 Job job = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult();
 assertNotNull(job);
 String executionIdOfNestedFailingExecution = job.getExecutionId();
 assertFalse(processInstance.getId() == executionIdOfNestedFailingExecution);
 assertNotNull(incident.getId());
 assertNotNull(incident.getIncidentTimestamp());
 assertEquals(Incident.FAILED_JOB_HANDLER_TYPE, incident.getIncidentType());
 assertEquals(AlwaysFailingDelegate.MESSAGE, incident.getIncidentMessage());
 assertEquals(executionIdOfNestedFailingExecution, incident.getExecutionId());
 assertEquals("theServiceTask", incident.getActivityId());
 assertEquals(processInstance.getId(), incident.getProcessInstanceId());
 assertEquals(incident.getId(), incident.getCauseIncidentId());
 assertEquals(incident.getId(), incident.getRootCauseIncidentId());
 assertEquals(job.getId(), incident.getConfiguration());
 assertEquals(job.getJobDefinitionId(), incident.getJobDefinitionId());
}

相关文章