如何在jbpm5中的ProcessEventListener中获取StatefulKnowledgeSession的当前StatefulKnowledgeSession表单列表?

时间:2015-05-27 14:53:43

标签: jbpm

我的要求是当Jbpm工作流程完成后我想在ProcessEventListener的afterProcessCompleted()中关闭一个会话,所以现在的问题是如何从StatefulKnowledgeSessions列表中获取当前的StatefulKnowledgeSession。

示例:

afterProcessCompleted(){

//Get list of StatefulKnowledgeSessions.  

//want current StatefulKnowledgeSession.

}

请尽快给出有价值的答案。

1 个答案:

答案 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之间的关联可能已经被切断了,所以我非常希望看看它是否适合你)