我的要求是当Jbpm工作流程完成后我想在ProcessEventListener的afterProcessCompleted()
中关闭一个会话,所以现在的问题是如何从StatefulKnowledgeSessions列表中获取当前的StatefulKnowledgeSession。
示例:
afterProcessCompleted(){
//Get list of StatefulKnowledgeSessions.
//want current StatefulKnowledgeSession.
}
请尽快给出有价值的答案。
答案 0 :(得分:0)
假设您在名为org.kie.api.event.process.ProcessEvent
的参数中有event
,您是否尝试过:
org.jbpm.process.instance.ProcessInstance pi =(org.jbpm.process.instance.ProcessInstance)event.getProcessInstance();
org.kie.internal.runtime.StatefulKnowledgeSession session=(org.kie.internal.runtime.StatefulKnowledgeSession)pi.getKnowledgeRuntime();
尝试一下,让我们看看它是否有效。 (我怀疑在afterProcessCompleted事件中,processInstance和knowledgeRuntime之间的关联可能已经被切断了,所以我非常希望看看它是否适合你)