[jboss-dev-forums] [jBPM Development] - Re: jbpm 5.4.0 - NullPointerException completing workItem. is this bug not resolved yet ?
Feki Ahmed
do-not-reply at jboss.com
Wed Mar 6 09:57:03 EST 2013
Feki Ahmed [https://community.jboss.org/people/bardelman] created the discussion
"Re: jbpm 5.4.0 - NullPointerException completing workItem. is this bug not resolved yet ?"
To view the discussion, visit: https://community.jboss.org/message/801076#801076
--------------------------------------------------------------
You are pointing to the right place ! i resolved this problem and i remember that i had to instanciate a new kbuilder, a new kbase ,a new env , a new emf for the session to reload as it is a new created session and even a new client for dealing with tasks.
here is the code :
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(new ClassPathResource(proctoreloadname+".bpmn"), ResourceType.BPMN2);
if (kbuilder.hasErrors()) {
for (KnowledgeBuilderError error : kbuilder.getErrors()) {
System.out.println(">>> Error:" + error.getMessage());
}
System.out.println(">>> Knowledge couldn't be parsed! ");
}
kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
env = EnvironmentFactory.newEnvironment();
emf = Persistence.createEntityManagerFactory("org.jbpm.runtime.ht");
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
env.set(EnvironmentName.TRANSACTION_MANAGER, TransactionManagerServices.getTransactionManager());
processInstance = null;
// Let's reload the session
ksessions.add(JPAKnowledgeService.loadStatefulKnowledgeSession(Integer.parseInt(idSessionToReload), kbase, null, env));
ksessions.remove(ksessions.size()-2);
sessionId= ksessions.get(ksessions.size()-1).getId();
// All the listeners and WorkItemHandlers are volatile, so we need to register them each time that we reload the session
// from the DB.
clients.add(createTaskService(emf));
clients.remove(clients.size()-2);
clients.get(clients.size()-1).connect();
localHTWorkItemHandlers.add(new LocalHTWorkItemHandler(clients.get(clients.size()-1), ksessions.get(ksessions.size()-1)));
localHTWorkItemHandlers.remove(localHTWorkItemHandlers.size()-2);
try {
clients.get(clients.size()-1).disconnect();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ksessions.get(ksessions.size()-1).getWorkItemManager().registerWorkItemHandler("Human Task", localHTWorkItemHandlers.get(localHTWorkItemHandlers.size()-1));
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/801076#801076]
Start a new discussion in jBPM Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2035]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20130306/d7527c64/attachment-0001.html
More information about the jboss-dev-forums
mailing list