JBoss Community

Re: JPAKnowledgeService.newStatefulKnowledgeSession(kbase, config, env)

created by suprit chaudhary in jBPM Development - View the full discussion

You need to start transaction by calling begin() on transactionManager before you call to create session JPAKnowledgeService.newStatefulKnowledgeSession.


bitronix.tm.BitronixTransactionManager transactionManager= TransactionManagerServices.getTransactionManager();

transactionManager.begin();

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

kbuilder.add(ResourceFactory.newFileResource("test.bpmn"), ResourceType.BPMN2);

KnowledgeBase kbase = kbuilder.newKnowledgeBase();

EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa");

Environment env = KnowledgeBaseFactory.newEnvironment();

env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);

env.set(EnvironmentName.TRANSACTION_MANAGER, tm);

Properties properties = new Properties();

properties.put("drools.processInstanceManagerFactory","org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory");

properties.put("drools.processSignalManagerFactory","org.jbpm.persistence.processinstance.JPASignalManagerFactory");

KnowledgeSessionConfiguration config = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties);

StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, config, env);

Reply to this message by going to Community

Start a new discussion in jBPM Development at Community