public KieSession createSession(KieBase kbase, Environment env) { KieSession session = createKieSession(kbase, env); session.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); return session; }
@Test public void testAsyncAuditProducer() throws Exception { Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", false); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); // setup listener MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
@Test public void testAsyncAuditProducerNonTransactionalWithRollback() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", false); jmsProps.put("jbpm.audit.jms.connection.factory", jmsServer.lookup("ConnectionFactory")); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.rollback(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); new JPAWorkingMemoryDbLogger(ksession); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
@Test public void testAsyncAuditProducerTransactional() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", true); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.commit(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); ksession.addEventListener(new JPAWorkingMemoryDbLogger(emf)); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
@Test public void testAsyncAuditProducerTransactionalWithRollback() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", true); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.rollback(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(0); }
public KieSession createSession(KieBase kbase, Environment env) { KieSession session = createKieSession(kbase, env); session.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); return session; }
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); new JPAWorkingMemoryDbLogger(ksession); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); ksession.addEventListener(new JPAWorkingMemoryDbLogger(emf)); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();
@Test public void testAsyncAuditProducer() throws Exception { Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", false); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); // setup listener MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
@Test public void testAsyncAuditProducerTransactionalWithRollback() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", true); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.rollback(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(0); }
@Test public void testAsyncAuditProducerTransactional() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", true); jmsProps.put("jbpm.audit.jms.connection.factory", factory); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.commit(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
@Test public void testAsyncAuditProducerNonTransactionalWithRollback() throws Exception { UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); Environment env = createEnvironment(context); // load the process KieBase kbase = createKnowledgeBase(); // create a new session KieSession session = createSession(kbase, env); Map<String, Object> jmsProps = new HashMap<String, Object>(); jmsProps.put("jbpm.audit.jms.transacted", false); jmsProps.put("jbpm.audit.jms.connection.factory", jmsServer.lookup("ConnectionFactory")); jmsProps.put("jbpm.audit.jms.queue", queue); AbstractAuditLogger logger = AuditLoggerFactory.newInstance(Type.JMS, session, jmsProps); Assertions.assertThat(logger).isNotNull(); Assertions.assertThat((logger instanceof AsyncAuditLogProducer)).isTrue(); // start process instance long processInstanceId = session.startProcess("com.sample.ruleflow").getId(); ut.rollback(); MessageReceiver receiver = new MessageReceiver(); List<Message> messages = receiver.receive(queue); Assertions.assertThat(messages).isNotNull(); Assertions.assertThat(messages.size()).isEqualTo(11); }
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();
Environment env = createEnvironment(context); KieBase kbase = createKnowledgeBase();