@Override public List<Job> getJobsWithExceptionByProcessInstanceId(String processInstanceId) { return activitiManagementService.createJobQuery().withException().processInstanceId(processInstanceId).list(); }
@Override public long getJobsWithExceptionCountByProcessInstanceId(String processInstanceId) { return activitiManagementService.createJobQuery().withException().processInstanceId(processInstanceId).count(); }
@Override public List<Job> getJobsWithExceptionByProcessInstanceId(String processInstanceId) { return activitiManagementService.createJobQuery().withException().processInstanceId(processInstanceId).list(); }
@Override public long getJobsWithExceptionCountByProcessInstanceId(String processInstanceId) { return activitiManagementService.createJobQuery().withException().processInstanceId(processInstanceId).count(); }
@Test public void testGetJobsWithExceptionByProcessInstanceId() { String processInstanceId = "processInstanceId"; JobQuery jobQuery = mock(JobQuery.class); when(activitiManagementService.createJobQuery()).thenReturn(jobQuery); when(jobQuery.withException()).thenReturn(jobQuery); when(jobQuery.processInstanceId(processInstanceId)).thenReturn(jobQuery); List<Job> expectedJobs = new ArrayList<>(); when(jobQuery.list()).thenReturn(expectedJobs); List<Job> actualJobs = activitiService.getJobsWithExceptionByProcessInstanceId(processInstanceId); assertSame(expectedJobs, actualJobs); InOrder inOrder = inOrder(jobQuery); inOrder.verify(jobQuery).withException(); inOrder.verify(jobQuery).processInstanceId(processInstanceId); inOrder.verify(jobQuery).list(); inOrder.verifyNoMoreInteractions(); }
@Test public void testGetJobsWithExceptionCountByProcessInstanceId() { String processInstanceId = "processInstanceId"; JobQuery jobQuery = mock(JobQuery.class); when(activitiManagementService.createJobQuery()).thenReturn(jobQuery); when(jobQuery.withException()).thenReturn(jobQuery); when(jobQuery.processInstanceId(processInstanceId)).thenReturn(jobQuery); long expectedResult = 1234l; when(jobQuery.count()).thenReturn(expectedResult); long actualResult = activitiService.getJobsWithExceptionCountByProcessInstanceId(processInstanceId); assertEquals(expectedResult, actualResult); InOrder inOrder = inOrder(jobQuery); inOrder.verify(jobQuery).withException(); inOrder.verify(jobQuery).processInstanceId(processInstanceId); inOrder.verify(jobQuery).count(); inOrder.verifyNoMoreInteractions(); }
@Override protected Object doExecute() throws Exception { if (businessKey == null || businessKey.isEmpty()) { out.println("Please supply a business key"); } else { // reverse the list to start the sub-processes first (they have bigger id's) List<ProcessInstance> processInstanceList = processEngine.getRuntimeService() .createProcessInstanceQuery().variableValueEquals(CoreProcessVariables.POOL_BUSINESS_KEY, businessKey) .orderByProcessInstanceId().desc().list(); out.printf("Found %d processes with pool business key %s\n", processInstanceList.size(), businessKey); int count = 0; for (ProcessInstance instance : processInstanceList) { List<Job> jobs = processEngine.getManagementService().createJobQuery() .processInstanceId(instance.getProcessInstanceId()).withException().list(); for (Job job : jobs) { count++; processEngine.getManagementService().setJobRetries(job.getId(), JobEntity.DEFAULT_RETRIES); } } out.printf("Number of retries reset for %s jobs\n", count); } return null; }