public static ProcessEngineConfiguration createStandaloneInMemProcessEngineConfiguration() { return new StandaloneInMemProcessEngineConfiguration(); }
public static ProcessEngineConfiguration createStandaloneInMemProcessEngineConfiguration() { return new StandaloneInMemProcessEngineConfiguration(); }
public void testDefaultEngineConfigurationSetting() { ProcessEngineConfigurationImpl config = new StandaloneInMemProcessEngineConfiguration(); assertTrue(config.isEnableGracefulDegradationOnContextSwitchFailure()); }
private ProcessEngine createProcessEngine(String name) { StandaloneInMemProcessEngineConfiguration processEngineConfiguration = new StandaloneInMemProcessEngineConfiguration(); processEngineConfiguration.setProcessEngineName(name); processEngineConfiguration.setJdbcUrl(String.format("jdbc:h2:mem:%s", name)); return processEngineConfiguration.buildProcessEngine(); }
private static ProcessEngineConfigurationImpl config(final String schemaUpdate, final String historyLevel) { StandaloneInMemProcessEngineConfiguration engineConfiguration = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration.setProcessEngineName(UUID.randomUUID().toString()); engineConfiguration.setDatabaseSchemaUpdate(schemaUpdate); engineConfiguration.setHistory(historyLevel); engineConfiguration.setDbMetricsReporterActivate(false); engineConfiguration.setJdbcUrl("jdbc:h2:mem:DatabaseHistoryPropertyAutoTest"); return engineConfiguration; }
private static ProcessEngineConfigurationImpl config(final String schemaUpdate, final String historyLevel) { StandaloneInMemProcessEngineConfiguration engineConfiguration = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration.setProcessEngineName(UUID.randomUUID().toString()); engineConfiguration.setDatabaseSchemaUpdate(schemaUpdate); engineConfiguration.setHistory(historyLevel); engineConfiguration.setDbMetricsReporterActivate(false); engineConfiguration.setJdbcUrl("jdbc:h2:mem:DatabaseHistoryPropertyAutoTest"); return engineConfiguration; }
@Test public void updateIsDefaultTaskPermission() { assertEquals("UPDATE", new StandaloneInMemProcessEngineConfiguration().getDefaultUserPermissionNameForTask()); }
protected ProcessEngineConfigurationImpl createConfig() { StandaloneInMemProcessEngineConfiguration configuration = new StandaloneInMemProcessEngineConfiguration(); configuration.setProcessEngineName("process-engine-HistoryTest"); configuration.setDbMetricsReporterActivate(false); configuration.setJdbcUrl("jdbc:h2:mem:HistoryTest"); return configuration; }
@Test public void shouldNotReuseSqlSessionFactoryByDefault() { assertFalse(new StandaloneInMemProcessEngineConfiguration().isUseSharedSqlSessionFactory()); }
public void testCreateConfigurationWithMismatchtingSchemaAndPrefix() { try { StandaloneInMemProcessEngineConfiguration configuration = new StandaloneInMemProcessEngineConfiguration(); configuration.setDatabaseSchema("foo"); configuration.setDatabaseTablePrefix("bar"); configuration.buildProcessEngine(); fail("Should throw exception"); } catch (ProcessEngineException e) { // as expected assertTrue(e.getMessage().contains("When setting a schema the prefix has to be schema + '.'")); } }
public void testCreateConfigurationWithMissingDotInSchemaAndPrefix() { try { StandaloneInMemProcessEngineConfiguration configuration = new StandaloneInMemProcessEngineConfiguration(); configuration.setDatabaseSchema("foo"); configuration.setDatabaseTablePrefix("foo"); configuration.buildProcessEngine(); fail("Should throw exception"); } catch (ProcessEngineException e) { // as expected assertTrue(e.getMessage().contains("When setting a schema the prefix has to be schema + '.'")); } }
@Test public void testExecuteJobsForSingleEngine() { // configure and build a process engine StandaloneProcessEngineConfiguration standaloneProcessEngineConfiguration = new StandaloneInMemProcessEngineConfiguration(); standaloneProcessEngineConfiguration.setProcessEngineName(getClass().getName() + "-engine1"); standaloneProcessEngineConfiguration.setJdbcUrl("jdbc:h2:mem:jobexecutor-test-engine"); standaloneProcessEngineConfiguration.setJobExecutorActivate(false); standaloneProcessEngineConfiguration.setJobExecutor(jobExecutor); standaloneProcessEngineConfiguration.setDbMetricsReporterActivate(false); ProcessEngine engine = standaloneProcessEngineConfiguration.buildProcessEngine(); createdProcessEngines.add(engine); engine.getRepositoryService().createDeployment() .addClasspathResource(PROCESS_RESOURCE) .deploy(); jobExecutor.shutdown(); engine.getRuntimeService() .startProcessInstanceByKey("intermediateTimerEventExample"); Assert.assertEquals(1, engine.getManagementService().createJobQuery().count()); Calendar calendar = Calendar.getInstance(); calendar.add(Field.DAY_OF_YEAR.getCalendarField(), 6); ClockUtil.setCurrentTime(calendar.getTime()); jobExecutor.start(); waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine.getManagementService(), true); Assert.assertEquals(0, engine.getManagementService().createJobQuery().count()); }
@Test public void testForceCloseMybatisConnectionPoolTrue() { // given // that the process engine is configured with forceCloseMybatisConnectionPool = true ProcessEngineConfigurationImpl configurationImpl = new StandaloneInMemProcessEngineConfiguration() .setJdbcUrl("jdbc:h2:mem:camunda-forceclose") .setProcessEngineName("engine-forceclose") .setForceCloseMybatisConnectionPool(true); ProcessEngine processEngine = configurationImpl .buildProcessEngine(); PooledDataSource pooledDataSource = (PooledDataSource) configurationImpl.getDataSource(); PoolState state = pooledDataSource.getPoolState(); // then // if the process engine is closed processEngine.close(); // the idle connections are closed Assert.assertTrue(state.getIdleConnectionCount() == 0); }
@Test public void testExecuteJobsForTwoEnginesSameAcquisition() { StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration1.setProcessEngineName(getClass().getName() + "-engine1"); engineConfiguration1.setJdbcUrl("jdbc:h2:mem:activiti1"); StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration2.setProcessEngineName(getClass().getName() + "engine2"); engineConfiguration2.setJdbcUrl("jdbc:h2:mem:activiti2");
@Test public void testJobAddedGuardForTwoEnginesSameAcquisition() throws InterruptedException { StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration1.setProcessEngineName(getClass().getName() + "-engine1"); engineConfiguration1.setJdbcUrl("jdbc:h2:mem:activiti1"); StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration(); engineConfiguration2.setProcessEngineName(getClass().getName() + "engine2"); engineConfiguration2.setJdbcUrl("jdbc:h2:mem:activiti2");
@Test public void testForceCloseMybatisConnectionPoolFalse() { // given // that the process engine is configured with forceCloseMybatisConnectionPool = false ProcessEngineConfigurationImpl configurationImpl = new StandaloneInMemProcessEngineConfiguration() .setJdbcUrl("jdbc:h2:mem:camunda-forceclose") .setProcessEngineName("engine-forceclose") .setForceCloseMybatisConnectionPool(false); ProcessEngine processEngine = configurationImpl .buildProcessEngine(); PooledDataSource pooledDataSource = (PooledDataSource) configurationImpl.getDataSource(); PoolState state = pooledDataSource.getPoolState(); int idleConnections = state.getIdleConnectionCount(); // then // if the process engine is closed processEngine.close(); // the idle connections are not closed Assert.assertEquals(state.getIdleConnectionCount(), idleConnections); pooledDataSource.forceCloseAll(); Assert.assertTrue(state.getIdleConnectionCount() == 0); }
@Test public void testFallbackSerializerDoesNotOverrideRegularSerializer() { // given // that the process engine is configured with a serializer for a certain format // and a fallback serializer factory for the same format ProcessEngineConfigurationImpl engineConfiguration = new StandaloneInMemProcessEngineConfiguration() .setJdbcUrl("jdbc:h2:mem:camunda-forceclose") .setProcessEngineName("engine-forceclose"); engineConfiguration.setCustomPreVariableSerializers(Arrays.<TypedValueSerializer>asList(new ExampleConstantSerializer())); engineConfiguration.setFallbackSerializerFactory(new ExampleSerializerFactory()); processEngine = engineConfiguration.buildProcessEngine(); deployOneTaskProcess(processEngine); // when setting a variable that no regular serializer can handle ObjectValue objectValue = Variables.objectValue("foo").serializationDataFormat(ExampleSerializer.FORMAT).create(); ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValueTyped("var", objectValue)); ObjectValue fetchedValue = processEngine.getRuntimeService().getVariableTyped(pi.getId(), "var", true); // then the fallback serializer is used Assert.assertNotNull(fetchedValue); Assert.assertEquals(ExampleSerializer.FORMAT, fetchedValue.getSerializationDataFormat()); Assert.assertEquals(ExampleConstantSerializer.DESERIALIZED_VALUE, fetchedValue.getValue()); }
@Test public void testFallbackSerializer() { // given // that the process engine is configured with a fallback serializer factory ProcessEngineConfigurationImpl engineConfiguration = new StandaloneInMemProcessEngineConfiguration() .setJdbcUrl("jdbc:h2:mem:camunda-forceclose") .setProcessEngineName("engine-forceclose"); engineConfiguration.setFallbackSerializerFactory(new ExampleSerializerFactory()); processEngine = engineConfiguration.buildProcessEngine(); deployOneTaskProcess(processEngine); // when setting a variable that no regular serializer can handle ObjectValue objectValue = Variables.objectValue("foo").serializationDataFormat(ExampleSerializer.FORMAT).create(); ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValueTyped("var", objectValue)); ObjectValue fetchedValue = processEngine.getRuntimeService().getVariableTyped(pi.getId(), "var", true); // then the fallback serializer is used Assert.assertNotNull(fetchedValue); Assert.assertEquals(ExampleSerializer.FORMAT, fetchedValue.getSerializationDataFormat()); Assert.assertEquals("foo", fetchedValue.getValue()); }
ProcessEngineConfigurationImpl processEngineConfiguration = new StandaloneInMemProcessEngineConfiguration(); processEngineConfiguration.setProcessEngineName("reboot-test-schema"); processEngineConfiguration.setJdbcUrl("jdbc:h2:mem:activiti-reboot-test;DB_CLOSE_DELAY=1000");
public void testCreateConfigurationWithMissingDotInSchemaAndPrefix() { try { StandaloneInMemProcessEngineConfiguration configuration = new StandaloneInMemProcessEngineConfiguration(); configuration.setDatabaseSchema("foo"); configuration.setDatabaseTablePrefix("foo"); configuration.buildProcessEngine(); fail("Should throw exception"); } catch (ProcessEngineException e) { // as expected assertTrue(e.getMessage().contains("When setting a schema the prefix has to be schema + '.'")); } }