Search in sources :

Example 1 with Job

use of org.activiti.engine.runtime.Job in project Activiti by Activiti.

the class MultiInstanceTest method testRunProcess.

@Deployment(resources = { "process/multiinstanceReceive.bpmn20.xml" })
public void testRunProcess() throws Exception {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("miProcessExample");
    List<Job> jobList = managementService.createJobQuery().list();
    assertEquals(5, jobList.size());
    assertEquals(5, runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).activityId("serviceTask1").count());
    waitForJobExecutorToProcessAllJobs(3000, 500);
    int counter = 0;
    long processInstanceCount = 1;
    while (processInstanceCount == 1 && counter < 20) {
        Thread.sleep(500);
        processInstanceCount = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance.getId()).count();
        counter++;
    }
    assertEquals(0, runtimeService.createProcessInstanceQuery().processInstanceId(processInstance.getId()).count());
}
Also used : ProcessInstance(org.activiti.engine.runtime.ProcessInstance) Job(org.activiti.engine.runtime.Job) Deployment(org.activiti.engine.test.Deployment)

Example 2 with Job

use of org.activiti.engine.runtime.Job in project Activiti by Activiti.

the class CamelExceptionTest method testHappyPathAsynchronous.

// check happy path in asynchronous camel call
@Deployment(resources = { "org/activiti/camel/exception/bpmnExceptionInRouteAsynchronous.bpmn20.xml" })
public void testHappyPathAsynchronous() {
    // Signal ThrowBpmnExceptionBean to throw no exception
    ThrowBpmnExceptionBean.setExceptionType(ThrowBpmnExceptionBean.ExceptionType.NO_EXCEPTION);
    runtimeService.startProcessInstanceByKey("exceptionInRouteSynchron");
    Job job = managementService.createJobQuery().singleResult();
    managementService.executeJob(job.getId());
    assertFalse(JobTestHelper.areJobsAvailable(managementService));
    assertFalse(ExceptionServiceMock.isCalled());
    assertTrue(NoExceptionServiceMock.isCalled());
}
Also used : Job(org.activiti.engine.runtime.Job) Deployment(org.activiti.engine.test.Deployment)

Example 3 with Job

use of org.activiti.engine.runtime.Job in project Activiti by Activiti.

the class ErrorHandlingTest method testCamelRouteWorksAsIntended.

/**
	 * Process instance should be removed after completion. Works as intended, 
	 * if no exception interrupts the Camel route. 
	 * 
	 * @throws Exception
	 */
@Deployment(resources = { "process/errorHandling.bpmn20.xml" })
public void testCamelRouteWorksAsIntended() throws Exception {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("routing", Routing.DEFAULT);
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("ErrorHandling", variables);
    Job job = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult();
    assertNotNull(job);
    managementService.executeJob(job.getId());
    Thread.sleep(WAIT);
    assertEquals("Process instance not completed", 0, runtimeService.createProcessInstanceQuery().processInstanceId(processInstance.getId()).count());
}
Also used : HashMap(java.util.HashMap) ProcessInstance(org.activiti.engine.runtime.ProcessInstance) Job(org.activiti.engine.runtime.Job) Deployment(org.activiti.engine.test.Deployment)

Example 4 with Job

use of org.activiti.engine.runtime.Job in project Activiti by Activiti.

the class JobQueryTest method verifyFailedJob.

private void verifyFailedJob(JobQuery query, ProcessInstance processInstance) {
    verifyQueryResults(query, 1);
    Job failedJob = query.singleResult();
    assertNotNull(failedJob);
    assertEquals(processInstance.getId(), failedJob.getProcessInstanceId());
    assertNotNull(failedJob.getExceptionMessage());
    assertTextPresent(EXCEPTION_MESSAGE, failedJob.getExceptionMessage());
}
Also used : Job(org.activiti.engine.runtime.Job)

Example 5 with Job

use of org.activiti.engine.runtime.Job in project Activiti by Activiti.

the class ProcessInstanceSuspensionTest method testJobsNotVisisbleToAcquisitionIfDefinitionSuspended.

@Deployment(resources = { "org/activiti/engine/test/db/oneJobProcess.bpmn20.xml" })
public void testJobsNotVisisbleToAcquisitionIfDefinitionSuspended() {
    ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().singleResult();
    runtimeService.startProcessInstanceByKey(pd.getKey());
    // now there is one job:
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    makeSureJobDue(job);
    // the acquirejobs command sees the job:
    AcquiredJobEntities acquiredJobs = executeAcquireJobsCommand();
    assertEquals(1, acquiredJobs.size());
    // suspend the process instance:
    repositoryService.suspendProcessDefinitionById(pd.getId());
    // now, the acquirejobs command does not see the job:
    acquiredJobs = executeAcquireJobsCommand();
    assertEquals(0, acquiredJobs.size());
}
Also used : AcquiredJobEntities(org.activiti.engine.impl.asyncexecutor.AcquiredJobEntities) ProcessDefinition(org.activiti.engine.repository.ProcessDefinition) Job(org.activiti.engine.runtime.Job) Deployment(org.activiti.engine.test.Deployment)

Aggregations

Job (org.activiti.engine.runtime.Job)143 Deployment (org.activiti.engine.test.Deployment)91 ProcessInstance (org.activiti.engine.runtime.ProcessInstance)67 Task (org.activiti.engine.task.Task)49 Date (java.util.Date)29 Calendar (java.util.Calendar)18 DelegateTask (org.activiti.engine.delegate.DelegateTask)11 HashMap (java.util.HashMap)10 ActivitiEvent (org.activiti.engine.delegate.event.ActivitiEvent)10 TimerJobQuery (org.activiti.engine.runtime.TimerJobQuery)10 ArrayList (java.util.ArrayList)8 JobEntity (org.activiti.engine.impl.persistence.entity.JobEntity)8 ProcessDefinition (org.activiti.engine.repository.ProcessDefinition)8 ActivitiException (org.activiti.engine.ActivitiException)7 Execution (org.activiti.engine.runtime.Execution)7 TimerJobEntity (org.activiti.engine.impl.persistence.entity.TimerJobEntity)6 SimpleDateFormat (java.text.SimpleDateFormat)5 HistoricProcessInstance (org.activiti.engine.history.HistoricProcessInstance)5 DefaultClockImpl (org.activiti.engine.impl.util.DefaultClockImpl)5 Clock (org.activiti.engine.runtime.Clock)5