use of org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration in project Activiti by Activiti.
the class AsyncExecutorTest method createProcessEngine.
private ProcessEngine createProcessEngine(boolean enableAsyncExecutor, Date time) {
ProcessEngineConfigurationImpl processEngineConfiguration = new StandaloneInMemProcessEngineConfiguration();
processEngineConfiguration.setJdbcUrl("jdbc:h2:mem:activiti-AsyncExecutorTest;DB_CLOSE_DELAY=1000");
processEngineConfiguration.setDatabaseSchemaUpdate("true");
if (enableAsyncExecutor) {
processEngineConfiguration.setAsyncExecutorActivate(true);
CountingAsyncExecutor countingAsyncExecutor = new CountingAsyncExecutor();
// To avoid waiting too long when a retry happens
countingAsyncExecutor.setDefaultAsyncJobAcquireWaitTimeInMillis(50);
countingAsyncExecutor.setDefaultTimerJobAcquireWaitTimeInMillis(50);
processEngineConfiguration.setAsyncExecutor(countingAsyncExecutor);
}
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
if (time != null) {
processEngine.getProcessEngineConfiguration().getClock().setCurrentTime(time);
}
return processEngine;
}
use of org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration in project Activiti by Activiti.
the class ProcessDefinitionInfoCacheTest method testStartProcessInstanceByIdAfterReboot.
// Test for a bug: when the process engine is rebooted the
// cache is cleaned and the deployed process definition is
// removed from the process cache. This led to problems because
// the id wasn't fetched from the DB after a redeploy.
public void testStartProcessInstanceByIdAfterReboot() {
// In case this test is run in a test suite, previous engines might
// have been initialized and cached. First we close the
// existing process engines to make sure that the db is clean
// and that there are no existing process engines involved.
ProcessEngines.destroy();
// Creating the DB schema (without building a process engine)
ProcessEngineConfigurationImpl processEngineConfiguration = new StandaloneInMemProcessEngineConfiguration();
processEngineConfiguration.setProcessEngineName("reboot-info-test-schema");
processEngineConfiguration.setJdbcUrl("jdbc:h2:mem:activiti-reboot-info-test;DB_CLOSE_DELAY=1000");
ProcessEngine schemaProcessEngine = processEngineConfiguration.buildProcessEngine();
// Create process engine and deploy test process
ProcessEngine processEngine = new StandaloneProcessEngineConfiguration().setProcessEngineName("reboot-info-test").setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE).setJdbcUrl("jdbc:h2:mem:activiti-reboot-info-test;DB_CLOSE_DELAY=1000").setJobExecutorActivate(false).setEnableProcessDefinitionInfoCache(true).buildProcessEngine();
processEngine.getRepositoryService().createDeployment().addClasspathResource("org/activiti/engine/test/cache/originalProcess.bpmn20.xml").deploy();
// verify existance of process definiton
List<ProcessDefinition> processDefinitions = processEngine.getRepositoryService().createProcessDefinitionQuery().list();
assertEquals(1, processDefinitions.size());
String processDefinitionId = processDefinitions.get(0).getId();
ObjectNode infoNode = processEngine.getDynamicBpmnService().getProcessDefinitionInfo(processDefinitionId);
assertNotNull(infoNode);
infoNode = processEngineConfiguration.getObjectMapper().createObjectNode();
infoNode.put("test", "test");
processEngine.getDynamicBpmnService().saveProcessDefinitionInfo(processDefinitionId, infoNode);
infoNode = processEngine.getDynamicBpmnService().getProcessDefinitionInfo(processDefinitionId);
assertNotNull(infoNode);
assertEquals("test", infoNode.get("test").asText());
// Start a new Process instance
ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceById(processDefinitionId);
String processInstanceId = processInstance.getId();
assertNotNull(processInstance);
// Close the process engine
processEngine.close();
assertNotNull(processEngine.getRuntimeService());
// Reboot the process engine
processEngine = new StandaloneProcessEngineConfiguration().setProcessEngineName("reboot-info-test").setDatabaseSchemaUpdate(org.activiti.engine.ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE).setJdbcUrl("jdbc:h2:mem:activiti-reboot-info-test;DB_CLOSE_DELAY=1000").setJobExecutorActivate(false).setEnableProcessDefinitionInfoCache(true).buildProcessEngine();
infoNode = processEngine.getDynamicBpmnService().getProcessDefinitionInfo(processDefinitionId);
assertNotNull(infoNode);
assertEquals("test", infoNode.get("test").asText());
// Check if the existing process instance is still alive
processInstance = processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
assertNotNull(processInstance);
// Complete the task. That will end the process instance
TaskService taskService = processEngine.getTaskService();
Task task = taskService.createTaskQuery().list().get(0);
taskService.complete(task.getId());
// Check if the process instance has really ended. This means that the process definition has
// re-loaded into the process definition cache
processInstance = processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
assertNull(processInstance);
// Extra check to see if a new process instance can be started as well
processInstance = processEngine.getRuntimeService().startProcessInstanceById(processDefinitions.get(0).getId());
assertNotNull(processInstance);
// close the process engine
processEngine.close();
// Cleanup schema
schemaProcessEngine.close();
}
use of org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration in project Activiti by Activiti.
the class DisabledSchemaValidationTest method setup.
@Before
public void setup() {
this.processEngine = new StandaloneInMemProcessEngineConfiguration().setJdbcUrl("jdbc:h2:mem:activiti-process-validation;DB_CLOSE_DELAY=1000").buildProcessEngine();
this.repositoryService = processEngine.getRepositoryService();
}
use of org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration in project Activiti by Activiti.
the class SecureScriptingBaseTest method initProcessEngine.
@Before
public void initProcessEngine() {
SecureJavascriptConfigurator configurator = new SecureJavascriptConfigurator().setWhiteListedClasses(new HashSet<String>(Arrays.asList("java.util.ArrayList", "org.activiti.test.scripting.secure.MyBean"))).setMaxStackDepth(10).setMaxScriptExecutionTime(3000L).setMaxMemoryUsed(3145728L);
Map<Object, Object> beans = new HashMap<Object, Object>();
beans.put("myBean", new MyBean());
this.processEngine = new StandaloneInMemProcessEngineConfiguration().addConfigurator(configurator).setBeans(beans).setDatabaseSchemaUpdate("create-drop").setEnableProcessDefinitionInfoCache(true).buildProcessEngine();
this.runtimeService = processEngine.getRuntimeService();
this.repositoryService = processEngine.getRepositoryService();
this.taskService = processEngine.getTaskService();
this.historyService = processEngine.getHistoryService();
this.dynamicBpmnService = processEngine.getDynamicBpmnService();
}
use of org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration in project Activiti by Activiti.
the class RetryInterceptorTest method setupProcessEngine.
@Before
public void setupProcessEngine() {
ProcessEngineConfigurationImpl processEngineConfiguration = (ProcessEngineConfigurationImpl) new StandaloneInMemProcessEngineConfiguration();
processEngineConfiguration.setJdbcUrl("jdbc:h2:mem:retryInterceptorTest");
List<CommandInterceptor> interceptors = new ArrayList<CommandInterceptor>();
retryInterceptor = new RetryInterceptor();
interceptors.add(retryInterceptor);
processEngineConfiguration.setCustomPreCommandInterceptors(interceptors);
processEngine = processEngineConfiguration.buildProcessEngine();
}
Aggregations