hi,
When I use JPAKnowledgeService and LocalTaskService, the process won't continue when complete the 2nd Human Task.
the following is the code fragment
| Environment env = KnowledgeBaseFactory.newEnvironment(); |
| env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa")); |
| env.set( EnvironmentName.TRANSACTION_MANAGER,TransactionManagerServices.getTransactionManager()); |
| | | |
| 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); |
| KnowledgeBase kbase = readKnowledgeBase(); -- read knowledgebase |
| |
| ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env); |
| |
| EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.task"); |
| org.jbpm.task.service.TaskService taskService = new org.jbpm.task.service.TaskService(emf, SystemEventListenerFactory.getSystemEventListener()); |
| |
| LocalTaskService localTaskService = new LocalTaskService(taskService); |
| LocalHTWorkItemHandler localHTWorkItemHandler = new LocalHTWorkItemHandler(localTaskService,ksession, OnErrorAction.RETHROW); |
| localHTWorkItemHandler.setLocal(true); |
| localHTWorkItemHandler.connect(); |
| ksession.getWorkItemManager().registerWorkItemHandler("Human Task", localHTWorkItemHandler); |