Example #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testExecuteJobsForSingleEngine()
        public virtual void testExecuteJobsForSingleEngine()
        {
            // configure and build a process engine
            StandaloneProcessEngineConfiguration standaloneProcessEngineConfiguration = new StandaloneInMemProcessEngineConfiguration();

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            standaloneProcessEngineConfiguration.ProcessEngineName         = this.GetType().FullName + "-engine1";
            standaloneProcessEngineConfiguration.JdbcUrl                   = "jdbc:h2:mem:jobexecutor-test-engine";
            standaloneProcessEngineConfiguration.JobExecutorActivate       = false;
            standaloneProcessEngineConfiguration.JobExecutor               = jobExecutor;
            standaloneProcessEngineConfiguration.DbMetricsReporterActivate = false;
            ProcessEngine engine = standaloneProcessEngineConfiguration.buildProcessEngine();

            createdProcessEngines.Add(engine);

            engine.RepositoryService.createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();

            jobExecutor.shutdown();

            engine.RuntimeService.startProcessInstanceByKey("intermediateTimerEventExample");

            Assert.assertEquals(1, engine.ManagementService.createJobQuery().count());

            DateTime calendar = new DateTime();

            calendar.add(Field.DAY_OF_YEAR.CalendarField, 6);
            ClockUtil.CurrentTime = calendar;
            jobExecutor.start();
            waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine.ManagementService, true);

            Assert.assertEquals(0, engine.ManagementService.createJobQuery().count());
        }
Example #2
0
        public virtual void TestExecuteJobsForSingleEngine()
        {
            // configure and build a process engine
            StandaloneProcessEngineConfiguration standaloneProcessEngineConfiguration =
                new StandaloneInMemProcessEngineConfiguration();

            //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.GetName method:
            standaloneProcessEngineConfiguration.SetProcessEngineName(GetType().FullName + "-engine1");
            //standaloneProcessEngineConfiguration.JdbcUrl = "jdbc:h2:mem:jobexecutor-test-engine";
            standaloneProcessEngineConfiguration.SetJobExecutorActivate(false);
            standaloneProcessEngineConfiguration.SetJobExecutor(_jobExecutor);
            standaloneProcessEngineConfiguration.SetDbMetricsReporterActivate(false);
            var engine = standaloneProcessEngineConfiguration.BuildProcessEngine();

            _createdProcessEngines.Add(engine);

            engine.RepositoryService.CreateDeployment().AddClasspathResource(ProcessResource).Deploy();

            _jobExecutor.Shutdown();

            engine.RuntimeService.StartProcessInstanceByKey("intermediateTimerEventExample");

            Assert.AreEqual(1, engine.ManagementService.CreateJobQuery().Count());

            ClockUtil.CurrentTime = DateTime.Now.AddDays(6);
            _jobExecutor.Start();

            WaitForJobExecutorToProcessAllJobs(10000, 100, _jobExecutor, engine.RuntimeService, true);

            Assert.AreEqual(0, engine.ManagementService.CreateJobQuery().Count());
        }
        private IProcessEngine CreateProcessEngine(string name)
        {
            StandaloneInMemProcessEngineConfiguration processEngineConfiguration = new StandaloneInMemProcessEngineConfiguration();

            processEngineConfiguration.SetProcessEngineName(name);
            processEngineConfiguration.JdbcUrl = string.Format("jdbc:h2:mem:{0}", name);
            return(processEngineConfiguration.BuildProcessEngine());
        }
Example #4
0
        protected internal static ProcessEngineImpl createProcessEngineImpl(bool dmnEnabled)
        {
            StandaloneInMemProcessEngineConfiguration config = (StandaloneInMemProcessEngineConfiguration)(new CustomStandaloneInMemProcessEngineConfiguration()).SetProcessEngineName("database-dmn-test-engine").SetDatabaseSchemaUpdate("false").SetHistory(ProcessEngineConfiguration.HistoryFull).SetJdbcUrl("jdbc:h2:mem:DatabaseDmnTest");

            config.DmnEnabled = dmnEnabled;

            return((ProcessEngineImpl)config.BuildProcessEngine());
        }
Example #5
0
        protected internal virtual ProcessEngineConfigurationImpl createConfig()
        {
            StandaloneInMemProcessEngineConfiguration configuration = new StandaloneInMemProcessEngineConfiguration();

            configuration.ProcessEngineName         = "process-engine-HistoryTest";
            configuration.DbMetricsReporterActivate = false;
            configuration.JdbcUrl = "jdbc:h2:mem:HistoryTest";
            return(configuration);
        }
Example #6
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: private static org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl config(final String schemaUpdate, final String historyLevel)
        private static ProcessEngineConfigurationImpl config(string schemaUpdate, string historyLevel)
        {
            StandaloneInMemProcessEngineConfiguration engineConfiguration = new StandaloneInMemProcessEngineConfiguration();

            engineConfiguration.ProcessEngineName    = System.Guid.randomUUID().ToString();
            engineConfiguration.DatabaseSchemaUpdate = schemaUpdate;
            engineConfiguration.History = historyLevel;
            engineConfiguration.DbMetricsReporterActivate = false;
            engineConfiguration.JdbcUrl = "jdbc:h2:mem:DatabaseHistoryPropertyAutoTest";

            return(engineConfiguration);
        }
Example #7
0
        public virtual void TestExecuteJobsForTwoEnginesSameAcquisition()
        {
            // configure and build a process engine
            StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration();

            //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.GetName method:

            engineConfiguration1.SetProcessEngineName(GetType().FullName + "-engine1");
            //engineConfiguration1.JdbcUrl = "jdbc:h2:mem:activiti1";
            engineConfiguration1.SetJobExecutorActivate(false);
            engineConfiguration1.SetJobExecutor(_jobExecutor);
            engineConfiguration1.SetDbMetricsReporterActivate(false);

            var engine1 = engineConfiguration1.BuildProcessEngine();

            _createdProcessEngines.Add(engine1);

            // and a second one
            StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration();

            //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.GetName method:
            engineConfiguration2.SetProcessEngineName(GetType().FullName + "engine2");
            //engineConfiguration2.JdbcUrl = "jdbc:h2:mem:activiti2";
            engineConfiguration2.SetJobExecutorActivate(false);
            engineConfiguration2.SetJobExecutor(_jobExecutor);
            engineConfiguration2.SetDbMetricsReporterActivate(false);

            var engine2 = engineConfiguration2.BuildProcessEngine();

            _createdProcessEngines.Add(engine2);

            // stop the acquisition
            _jobExecutor.Shutdown();

            // deploy the processes

            engine1.RepositoryService.CreateDeployment().AddClasspathResource(ProcessResource).Deploy();

            engine2.RepositoryService.CreateDeployment().AddClasspathResource(ProcessResource).Deploy();

            // start one instance for each engine:

            var procinst1 = engine1.RuntimeService.StartProcessInstanceByKey("intermediateTimerEventExample");
            var procinst2 = engine2.RuntimeService.StartProcessInstanceByKey("intermediateTimerEventExample");

            Assert.AreEqual(1, engine1.ManagementService.CreateJobQuery().Count(c => c.ProcessInstanceId == procinst1.Id));
            Assert.AreEqual(1, engine2.ManagementService.CreateJobQuery().Count(c => c.ProcessInstanceId == procinst2.Id));

            ClockUtil.CurrentTime = DateTime.Now.AddDays(6);

            _jobExecutor.Start();
            // Assert task completed for the first engine
            WaitForJobExecutorToProcessAllJobs(10000, 100, _jobExecutor, engine1.RuntimeService, true);

            _jobExecutor.Start();
            // Assert task completed for the second engine
            WaitForJobExecutorToProcessAllJobs(10000, 100, _jobExecutor, engine2.RuntimeService, true);

            Assert.AreEqual(0, engine1.ManagementService.CreateJobQuery().Count(c => c.ProcessInstanceId == procinst1.Id));
            Assert.AreEqual(0, engine2.ManagementService.CreateJobQuery().Count(c => c.ProcessInstanceId == procinst2.Id));
        }
Example #8
0
        public virtual void TestDefaultEngineConfigurationSetting()
        {
            ProcessEngineConfigurationImpl config = new StandaloneInMemProcessEngineConfiguration();

            Assert.True(config.EnableGracefulDegradationOnContextSwitchFailure);
        }
Example #9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testJobAddedGuardForTwoEnginesSameAcquisition() throws InterruptedException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testJobAddedGuardForTwoEnginesSameAcquisition()
        {
            // configure and build a process engine
            StandaloneProcessEngineConfiguration engineConfiguration1 = new StandaloneInMemProcessEngineConfiguration();

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            engineConfiguration1.ProcessEngineName         = this.GetType().FullName + "-engine1";
            engineConfiguration1.JdbcUrl                   = "jdbc:h2:mem:activiti1";
            engineConfiguration1.JobExecutorActivate       = false;
            engineConfiguration1.JobExecutor               = jobExecutor;
            engineConfiguration1.DbMetricsReporterActivate = false;
            ProcessEngine engine1 = engineConfiguration1.buildProcessEngine();

            createdProcessEngines.Add(engine1);

            // and a second one
            StandaloneProcessEngineConfiguration engineConfiguration2 = new StandaloneInMemProcessEngineConfiguration();

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            engineConfiguration2.ProcessEngineName         = this.GetType().FullName + "engine2";
            engineConfiguration2.JdbcUrl                   = "jdbc:h2:mem:activiti2";
            engineConfiguration2.JobExecutorActivate       = false;
            engineConfiguration2.JobExecutor               = jobExecutor;
            engineConfiguration2.DbMetricsReporterActivate = false;
            ProcessEngine engine2 = engineConfiguration2.buildProcessEngine();

            createdProcessEngines.Add(engine2);

            // stop the acquisition
            jobExecutor.shutdown();

            // deploy the processes

            engine1.RepositoryService.createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();

            engine2.RepositoryService.createDeployment().addClasspathResource(PROCESS_RESOURCE).deploy();

            // start one instance for each engine:

            engine1.RuntimeService.startProcessInstanceByKey("intermediateTimerEventExample");
            engine2.RuntimeService.startProcessInstanceByKey("intermediateTimerEventExample");

            DateTime calendar = new DateTime();

            calendar.add(Field.DAY_OF_YEAR.CalendarField, 6);
            ClockUtil.CurrentTime = calendar;

            Assert.assertEquals(1, engine1.ManagementService.createJobQuery().count());
            Assert.assertEquals(1, engine2.ManagementService.createJobQuery().count());

            // assert task completed for the first engine
            jobExecutor.start();
            waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine1.ManagementService, false);

            // assert task completed for the second engine
            jobExecutor.start();
            waitForJobExecutorToProcessAllJobs(10000, 100, jobExecutor, engine2.ManagementService, false);

            Thread.Sleep(2000);

            Assert.assertFalse(((SequentialJobAcquisitionRunnable)jobExecutor.AcquireJobsRunnable).JobAdded);

            Assert.assertEquals(0, engine1.ManagementService.createJobQuery().count());
            Assert.assertEquals(0, engine2.ManagementService.createJobQuery().count());
        }