private KieSession createSession(KieBase kbase, Environment env){ return JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); }
public static KieSession createKieSession(KieBase kbase, Environment env) { // create a new session Properties properties = new Properties(); properties.put("drools.processInstanceManagerFactory", "org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory"); properties.put("drools.processSignalManagerFactory", "org.jbpm.persistence.processinstance.JPASignalManagerFactory"); KieSessionConfiguration config = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties); StatefulKnowledgeSession session = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, config, env); return session; }
private KieSession createStatefulKnowledgeSession(KieBase kbase) { Environment env = createEnvironment(context); return JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); }
protected KieSession createStatefulKnowledgeSession(KieBase kbase) { Environment env = createEnvironment(context); return JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); }
protected static KieSession createStatefulKnowledgeSession(KieBase kbase) { Environment env = createEnvironment(context); return JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); }
protected KieSession createSession(KieBase kbase) { return JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, createEnvironment(context) ); }
@Override protected StatefulKnowledgeSession createSession(KieBase kbase) { Environment env = createEnvironment(context); if( this.useLocking ) { env.set(USE_PESSIMISTIC_LOCKING, true); } return JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env); }
@Override public KieSession newKieSession() { Environment env = environment.getEnvironment(); env.set(EnvironmentName.DEPLOYMENT_ID, owner); KieSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( environment.getKieBase(), environment.getConfiguration(), env); addInterceptors(ksession); return ksession; }
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Properties properties = new Properties(); properties.put("drools.processInstanceManagerFactory", "org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory"); properties.put("drools.processSignalManagerFactory", "org.jbpm.persistence.processinstance.JPASignalManagerFactory"); KieSessionConfiguration conf = SessionConfiguration.newInstance(properties); Environment env = createEnvironment(context); env.set("IS_JTA_TRANSACTION", false); ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, conf, env); ksession.addEventListener(new JPAWorkingMemoryDbLogger(emf, env)); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
@Before public void setUp() throws Exception { context = setupWithPoolingDataSource(JBPM_PERSISTENCE_UNIT_NAME); env = createEnvironment(context); kbase = createBase(); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); sessionId = ksession.getIdentifier(); ksession.dispose(); }
@Override protected StatefulKnowledgeSession createSession(KieBase kbase) { EnvironmentBuilder envBuilder = new ProcessStorageEnvironmentBuilder( storage ); Environment env = KieServices.get().newEnvironment(); env.set( EnvironmentName.TRANSACTION_MANAGER, envBuilder.getTransactionManager() ); env.set( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, envBuilder.getPersistenceContextManager() ); return JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); }
@Test public void testLocalTransactionPerStatement() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newByteArrayResource( ruleString.getBytes() ), ResourceType.DRL ); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); if ( kbuilder.hasErrors() ) { fail( kbuilder.getErrors().toString() ); } kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); List<?> list = new ArrayList<Object>(); ksession.setGlobal( "list", list ); ksession.insert( 1 ); ksession.insert( 2 ); ksession.insert( 3 ); ksession.fireAllRules(); assertEquals( 3, list.size() ); }
@Test(timeout=10000) public void testIntegrationWithEventManager() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(new ClassPathResource("WorkItemsProcess.rf"), ResourceType.DRF); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages(kbuilder.getKnowledgePackages()); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); ksession.getWorkItemManager().registerWorkItemHandler("MyWork", new SystemOutWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("org.drools.test.TestProcess"); ksession.insert("TestString"); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); while (responseCollector.isEmpty()) { Thread.sleep(100); } assertNotNull(responseCollector); assertEquals(1, responseCollector.size()); } }
@Before public void before() { context = setupWithPoolingDataSource(JBPM_PERSISTENCE_UNIT_NAME); Environment env = createEnvironment(context); if( useLocking ) { env.set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true); } ksession = JPAKnowledgeService.newStatefulKnowledgeSession(createKnowledgeBase(), null, env); assertTrue("Valid KnowledgeSession could not be created.", ksession != null && ksession.getIdentifier() > 0); listener = new ProcessListener(); ksession.addEventListener(listener); }
StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); List<?> list = new ArrayList<Object>();
@Before public void before() { context = setupWithPoolingDataSource(JBPM_PERSISTENCE_UNIT_NAME); // load up the knowledge base Environment env = PersistenceUtil.createEnvironment(context); env.set(OBJECT_MARSHALLING_STRATEGIES, new ObjectMarshallingStrategy[] { new ProcessInstanceResolverStrategy(), new JPAPlaceholderResolverStrategy(env), new SerializablePlaceholderResolverStrategy(ClassObjectMarshallingStrategyAcceptor.DEFAULT) } ); if( useLocking ) { env.set(USE_PESSIMISTIC_LOCKING, true); } KieBase kbase = loadKnowledgeBase(); // create session ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); Assert.assertTrue("Valid KnowledgeSession could not be created.", ksession != null && ksession.getIdentifier() > 0); }
@Test public void testPersistenceState() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( new ClassPathResource( "StateProcess.rf" ), ResourceType.DRF ); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); long id = ksession.getIdentifier(); ProcessInstance processInstance = ksession.startProcess( "org.drools.test.TestProcess" ); logger.debug( "Started process instance {}", processInstance.getId() ); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); ksession.insert(new ArrayList<Object>()); ksession.fireAllRules(); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNull( processInstance ); }
@Test public void testPersistenceWorkItems3() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( new ClassPathResource( "WorkItemsProcess.rf" ), ResourceType.DRF ); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); ksession.getWorkItemManager().registerWorkItemHandler("MyWork", new SystemOutWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess( "org.drools.test.TestProcess" ); ksession.insert( "TestString" ); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
@Test public void testIntegrationWithEventManager3() { // Because of MapBasedPersistenceTest we have to be sure that we register TX sync on the right transaction manager ((TestTransactionalPersistenceEventManager) EventManagerProvider.getInstance().get()).resetTransactionManager(); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( new ClassPathResource( "WorkItemsProcess.rf" ), ResourceType.DRF ); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); ksession.getWorkItemManager().registerWorkItemHandler("MyWork", new SystemOutWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess( "org.drools.test.TestProcess" ); ksession.insert( "TestString" ); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); List<InstanceView<?>> events = TestEventEmitter.getEvents(); assertNotNull(events); assertEquals(1, events.size()); } }
kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); long id = ksession.getIdentifier();