use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class ActivityPerfTestWatcher method afterPass.
public void afterPass(PerfTestPass pass) {
ProcessEngine processEngine = PerfTestProcessEngine.getInstance();
HistoryService historyService = processEngine.getHistoryService();
for (PerfTestRun run : pass.getRuns().values()) {
logActivityResults(pass, run, historyService);
}
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class SequentialJobAcquisitionTest method testExecuteJobsForTwoEnginesSameAcquisition.
@Test
public void testExecuteJobsForTwoEnginesSameAcquisition() {
// configure and build a process engine
StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration();
engineConfiguration1.setProcessEngineName(getClass().getName() + "-engine1");
engineConfiguration1.setJdbcUrl("jdbc:h2:mem:activiti1");
engineConfiguration1.setJobExecutorActivate(false);
engineConfiguration1.setJobExecutor(jobExecutor);
engineConfiguration1.setDbMetricsReporterActivate(false);
ProcessEngine engine1 = engineConfiguration1.buildProcessEngine();
createdProcessEngines.add(engine1);
// and a second one
StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration();
engineConfiguration2.setProcessEngineName(getClass().getName() + "engine2");
engineConfiguration2.setJdbcUrl("jdbc:h2:mem:activiti2");
engineConfiguration2.setJobExecutorActivate(false);
engineConfiguration2.setJobExecutor(jobExecutor);
engineConfiguration2.setDbMetricsReporterActivate(false);
ProcessEngine engine2 = engineConfiguration2.buildProcessEngine();
createdProcessEngines.add(engine2);
// stop the acquisition
jobExecutor.shutdown();
// deploy the processes
engine1.getRepositoryService().createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();
engine2.getRepositoryService().createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();
// start one instance for each engine:
engine1.getRuntimeService().startProcessInstanceByKey("intermediateTimerEventExample");
engine2.getRuntimeService().startProcessInstanceByKey("intermediateTimerEventExample");
Assert.assertEquals(1, engine1.getManagementService().createJobQuery().count());
Assert.assertEquals(1, engine2.getManagementService().createJobQuery().count());
Calendar calendar = Calendar.getInstance();
calendar.add(Field.DAY_OF_YEAR.getCalendarField(), 6);
ClockUtil.setCurrentTime(calendar.getTime());
jobExecutor.start();
// assert task completed for the first engine
waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine1.getManagementService(), true);
jobExecutor.start();
// assert task completed for the second engine
waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine2.getManagementService(), true);
Assert.assertEquals(0, engine1.getManagementService().createJobQuery().count());
Assert.assertEquals(0, engine2.getManagementService().createJobQuery().count());
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class SequentialJobAcquisitionTest method testJobAddedGuardForTwoEnginesSameAcquisition.
@Test
public void testJobAddedGuardForTwoEnginesSameAcquisition() throws InterruptedException {
// configure and build a process engine
StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration();
engineConfiguration1.setProcessEngineName(getClass().getName() + "-engine1");
engineConfiguration1.setJdbcUrl("jdbc:h2:mem:activiti1");
engineConfiguration1.setJobExecutorActivate(false);
engineConfiguration1.setJobExecutor(jobExecutor);
engineConfiguration1.setDbMetricsReporterActivate(false);
ProcessEngine engine1 = engineConfiguration1.buildProcessEngine();
createdProcessEngines.add(engine1);
// and a second one
StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration();
engineConfiguration2.setProcessEngineName(getClass().getName() + "engine2");
engineConfiguration2.setJdbcUrl("jdbc:h2:mem:activiti2");
engineConfiguration2.setJobExecutorActivate(false);
engineConfiguration2.setJobExecutor(jobExecutor);
engineConfiguration2.setDbMetricsReporterActivate(false);
ProcessEngine engine2 = engineConfiguration2.buildProcessEngine();
createdProcessEngines.add(engine2);
// stop the acquisition
jobExecutor.shutdown();
// deploy the processes
engine1.getRepositoryService().createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();
engine2.getRepositoryService().createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();
// start one instance for each engine:
engine1.getRuntimeService().startProcessInstanceByKey("intermediateTimerEventExample");
engine2.getRuntimeService().startProcessInstanceByKey("intermediateTimerEventExample");
Calendar calendar = Calendar.getInstance();
calendar.add(Field.DAY_OF_YEAR.getCalendarField(), 6);
ClockUtil.setCurrentTime(calendar.getTime());
Assert.assertEquals(1, engine1.getManagementService().createJobQuery().count());
Assert.assertEquals(1, engine2.getManagementService().createJobQuery().count());
// assert task completed for the first engine
jobExecutor.start();
waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine1.getManagementService(), false);
// assert task completed for the second engine
jobExecutor.start();
waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine2.getManagementService(), false);
Thread.sleep(2000);
Assert.assertFalse(((SequentialJobAcquisitionRunnable) jobExecutor.getAcquireJobsRunnable()).isJobAdded());
Assert.assertEquals(0, engine1.getManagementService().createJobQuery().count());
Assert.assertEquals(0, engine2.getManagementService().createJobQuery().count());
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class FetchAndLockHandlerImpl method tryFetchAndLock.
protected FetchAndLockResult tryFetchAndLock(FetchAndLockRequest request) {
ProcessEngine processEngine = request.getProcessEngine();
IdentityService identityService = processEngine.getIdentityService();
FetchAndLockResult result;
try {
identityService.setAuthentication(request.getAuthentication());
FetchExternalTasksExtendedDto fetchingDto = request.getDto();
List<LockedExternalTaskDto> lockedTasks = executeFetchAndLock(fetchingDto, processEngine);
result = FetchAndLockResult.successful(lockedTasks);
} catch (ProcessEngineException e) {
result = FetchAndLockResult.failed(e);
} finally {
identityService.clearAuthentication();
}
return result;
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class MockedProcessEngineProvider method getProcessEngine.
@Override
public ProcessEngine getProcessEngine(String name) {
if (name.equals(MockProvider.NON_EXISTING_PROCESS_ENGINE_NAME)) {
return null;
}
if (name.equals("default")) {
return getDefaultProcessEngine();
}
if (cachedEngines.get(name) == null) {
ProcessEngine mock = mockProcessEngine(name);
cachedEngines.put(name, mock);
}
return cachedEngines.get(name);
}
Aggregations