assertNotNull(managerV2); RuntimeEngine runtime = managerV1.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ProcessInstance pi1 = ksession.startProcess(ADDTASKAFTERACTIVE_ID_V1); assertNotNull(pi1); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); managerV1.disposeRuntimeEngine(runtime); MigrationSpec migrationSpec = new MigrationSpec(DEPLOYMENT_ID_V1, pi1.getId(), DEPLOYMENT_ID_V2, ADDTASKAFTERACTIVE_ID_V2); MigrationManager migrationManager = new MigrationManager(migrationSpec); MigrationReport report = migrationManager.migrate(); assertTrue(report.isSuccessful()); assertMigratedProcessInstance(ADDTASKAFTERACTIVE_ID_V2, pi1.getId(), ProcessInstance.STATE_ACTIVE); runtime = managerV2.getRuntimeEngine(EmptyContext.get()); TaskService taskService = runtime.getTaskService(); assertMigratedTaskAndComplete(taskService, ADDTASKAFTERACTIVE_ID_V2, pi1.getId(), "Active Task"); assertMigratedProcessInstance(ADDTASKAFTERACTIVE_ID_V2, pi1.getId(), ProcessInstance.STATE_ACTIVE); runtime = managerV2.getRuntimeEngine(EmptyContext.get()); taskService = runtime.getTaskService(); assertMigratedTaskAndComplete(taskService, ADDTASKAFTERACTIVE_ID_V2, pi1.getId(), "Added Task");
@Test(timeout=10000) public void testAsyncThrowManualEvent() throws Exception { CountDownAsyncJobListener countDownListener = configureListener(1); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-WaitForEvent.bpmn2"), ResourceType.BPMN2) .addEnvironmentEntry("ExecutorService", executorService) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ProcessInstance processInstance = ksession.startProcess("WaitForEvent"); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); ksession.signalEvent("ASYNC-MySignal", null); countDownListener.waitTillCompleted(); processInstance = runtime.getKieSession().getProcessInstance(processInstance.getId()); assertNull(processInstance); }
.newDefaultBuilder() .userGroupCallback(userGroupCallback) .entityManagerFactory(emf) assertEquals(0, sessions.size()); manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment); assertNotNull(manager); sessions = em.createQuery("from SessionInfo").getResultList(); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); runtime.getKieSession(); KieSession ksession = runtime.getKieSession(); ProcessInstance pi1 = ksession.startProcess("UserTask"); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); ksession.getWorkItemManager().completeWorkItem(1, null); manager.disposeRuntimeEngine(runtime);
manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 1); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId, ksession.getIdentifier()); ksession.addEventListener(new RuleAwareProcessEventLister()); ProcessInstance pi = ksession.startProcess("BPMN2-BusinessRuleTask"); assertNull(ksession.getProcessInstance(pi.getId())); AuditService logService = runtime.getAuditService(); manager.disposeRuntimeEngine(runtime);
manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 1); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId, ksession.getIdentifier()); ProcessInstance pi = ksession.createProcessInstance("BPMN2-BusinessRuleTask", null); ksession.insert(pi); ksession.startProcessInstance(pi.getId()); assertNull(ksession.getProcessInstance(pi.getId())); AuditService logService = runtime.getAuditService(); manager.disposeRuntimeEngine(runtime);
@Test public void testScriptTaskFromKjarByNameNamedKbaseKsession() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(GROUP_ID, ARTIFACT_ID, VERSION, "defaultKieBase", "defaultKieSession") .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ProcessInstance processInstance = ksession.startProcess("signalbroadcast"); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); ksession.signalEvent("Message-Msg", null); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(1, tasks.size()); ksession.signalEvent("signal", null); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); processInstance = ksession.getProcessInstance(processInstance.getId()); assertNull(processInstance);
.newDefaultBuilder(ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION)) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); ProcessInstance processInstance = engine.getKieSession().startProcess("UserTask", params); List<TaskSummary> tasks = engine.getTaskService().getTasksAssignedAsPotentialOwner("john", "en-UK"); assertNotNull(tasks); assertEquals(1, tasks.size()); engine.getTaskService().start(taskId, "john"); engine.getTaskService().complete(taskId, "john", null); processInstance = engine.getKieSession().getProcessInstance(processInstance.getId()); assertNull(processInstance); manager.disposeRuntimeEngine(engine);
@Test public void testCreationOfSession() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newEmptyBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 0); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId, ksession.getIdentifier()); manager.disposeRuntimeEngine(runtime); ksession = manager.getRuntimeEngine(EmptyContext.get()).getKieSession(); assertEquals(sessionId, ksession.getIdentifier());
.get(); manager = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); long ksession1Id = ksession.getIdentifier(); assertTrue(ksession1Id == 1); RuntimeEngine runtime2 = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession2 = runtime2.getKieSession(); long ksession2Id = ksession2.getIdentifier(); assertTrue(ksession2Id == 2); ProcessInstance pi1 = ksession.startProcess("UserTask"); ProcessInstance pi2 = ksession2.startProcess("UserTask"); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); assertEquals(ProcessInstance.STATE_ACTIVE, pi2.getState()); manager.disposeRuntimeEngine(runtime); manager.disposeRuntimeEngine(runtime2);
.get(); managerV1 = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment, DEPLOYMENT_ID_V1); .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .get(); managerV2 = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment2, DEPLOYMENT_ID_V2); RuntimeEngine runtime = managerV1.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); assertEquals(DEPLOYMENT_ID_V1, log.getExternalId()); TaskService taskService = runtime.getTaskService(); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner(USER_JOHN, "en-UK"); assertNotNull(tasks); MigrationSpec migrationSpec = new MigrationSpec(DEPLOYMENT_ID_V1, pi1.getId(), DEPLOYMENT_ID_V2, PROCESS_ID_V2); runtime = managerV1.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertNotNull(ksession);
@Test public void testCreationOfSessionWithPersistence() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 1); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId, ksession.getIdentifier()); manager.disposeRuntimeEngine(runtime); ksession = manager.getRuntimeEngine(EmptyContext.get()).getKieSession(); assertEquals(sessionId, ksession.getIdentifier());
@Override public void run() { try { Thread.sleep(1000); RuntimeEngine engine = runtimeManager.getRuntimeEngine(EmptyContext.get());// only for singleton logger.debug("staring a thread...."); engine.getKieSession().insert("doing it async"); logger.debug("Completing the work item"); engine.getKieSession().getWorkItemManager().completeWorkItem(workItem.getId(), null); runtimeManager.disposeRuntimeEngine(engine); } catch (Exception e) { logger.error("Error when executing async operation", e); } }
@Test public void testScriptTaskFromClasspathContainer() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newClasspathKmoduleDefaultBuilder() .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
final Map<String, Integer> processStates = new HashMap<String, Integer>(); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultInMemoryBuilder() .persistence(false) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ksession.startProcess("com.sample.bpmn.hello"); assertEquals(ProcessInstance.STATE_COMPLETED, processStates.get("com.sample.bpmn.Second").intValue()); manager.disposeRuntimeEngine(runtime); manager.close();
manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 1); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId+1, ksession.getIdentifier()); sessionId = ksession.getIdentifier(); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId+1, ksession.getIdentifier());
final Map<String, Integer> processStates = new HashMap<String, Integer>(); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultInMemoryBuilder() .persistence(false) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ksession.startProcess("com.sample.bpmn.hello"); assertEquals(ProcessInstance.STATE_COMPLETED, processStates.get("com.sample.bpmn.Second").intValue()); manager.disposeRuntimeEngine(runtime); manager.close();
final Map<String, Integer> processStates = new HashMap<String, Integer>(); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultInMemoryBuilder() .persistence(false) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ksession.startProcess("com.sample.bpmn.hello"); assertEquals(ProcessInstance.STATE_COMPLETED, processStates.get("com.sample.bpmn.Second").intValue()); manager.disposeRuntimeEngine(runtime); manager.close();
manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime1 = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession1 = runtime1.getKieSession(); ksession1.signalEvent("SampleEvent", null); List<? extends ProcessInstanceLog> logs = runtime1.getAuditService().findProcessInstances(); assertEquals(1, logs.size()); manager.disposeRuntimeEngine(runtime1); runtime1 = manager.getRuntimeEngine(EmptyContext.get()); ksession1 = runtime1.getKieSession(); ksession1.signalEvent("SampleEvent", null); logs = runtime1.getAuditService().findProcessInstances(); runtime1 = manager.getRuntimeEngine(EmptyContext.get()); ksession1 = runtime1.getKieSession(); ksession1.signalEvent("SampleEvent", null); logs = runtime1.getAuditService().findProcessInstances();
@Test public void testCreationOfSessionInMemory() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultInMemoryBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); long sessionId = ksession.getIdentifier(); assertTrue(sessionId == 0); runtime = manager.getRuntimeEngine(EmptyContext.get()); ksession = runtime.getKieSession(); assertEquals(sessionId, ksession.getIdentifier()); manager.disposeRuntimeEngine(runtime); ksession = manager.getRuntimeEngine(EmptyContext.get()).getKieSession(); assertEquals(sessionId, ksession.getIdentifier());