Hi,
JBPM 6.3 running in eclipse and using Spring. When running unit tests I am getting the following exception:
message: org.kie.internal.runtime.manager.SessionNotFoundException: No session found for context 1
at org.jbpm.runtime.manager.impl.PerProcessInstanceRuntimeManager$PerProcessInstanceInitializer.initKieSession(PerProcessInstanceRuntimeManager.java:535)
at org.jbpm.runtime.manager.impl.RuntimeEngineImpl.getKieSession(RuntimeEngineImpl.java:70)
at com.test.WorkflowService.printAllProcessInstances(WorkflowService.java:78)...
the offending code is engine.getKieSession().getProcessInstances() in :
private void printAllProcessInstances() {
for (AcrProcessInstance pi : instances) {
RuntimeEngine engine = workflowRuntime.getRuntimeEngine(pi.getId());
if (engine == null) {
LOGGER.error("printAllProcessInstances: Cannot initialise JBPM engine.");
return;
}
for (ProcessInstance instance : engine.getKieSession().getProcessInstances()) {
LOGGER.debug("INSTANCE:" + instance.getId() + ": PIID:" + pi.getId());
}
}
}
workflowRuntime.getRuntimeEngine is as follows:
public RuntimeEngine getRuntimeEngine(Long pid) {
runtimeManager = (RuntimeManager)appContext.getBean("runtimeManager");
RuntimeEngine engine;
if (pid.equals(0L)) {
engine = runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get());
} else {
return runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get(pid));
}
return engine;
}
and I use pid = 0 when starting the process.
Any ideas why I get the exception ?
cheers
Tony