*强文本*如果任务完成的事件没有被分派到 StatefulKnowledgeSession 会出现什么问题?
对于一个新的流程实例,我做
创建一个新会话
注册人工任务本地 GenericHTWorkItemHandler
注册自定义事件监听器
称呼
startProcess(processDefinitionId,parameters);
它启动一个新实例,通过注册的人工任务处理程序创建第一个人工任务。
当我想完成人工任务时,我会
恢复 KnowledgeSession
JPAKnowledgeService.loadStatefulKnowledgeSession(lastSessionId,kBase,null, env);
再次注册人工任务本地 GenericHTWorkItemHandler
再次注册自定义事件监听器
然后调用taskService.completeTask,但任务完成并没有分派到KnowledgeSession。并且流程没有发生
我不应该再次注册事件侦听器吗?我不应该再次注册工作项处理程序吗?
更新 1 异常跟踪:
07:52:09,618 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/workflow-console].[rsservlet]] (http--0.0.0.0-8280-15) Servlet.service() for servlet rsservlet threw exception: java.lang.IllegalStateException: EntityManager is closed
at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1158) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.drools.container.spring.beans.persistence.DroolsSpringJpaManager.getApplicationScopedPersistenceContext(DroolsSpringJpaManager.java:89) [drools-spring-5.5.0.Final.jar:5.5.0.Final]
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:350) [drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.getEnvironment(CommandBasedStatefulKnowledgeSession.java:478) [drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:260) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.execute(GenericHTWorkItemHandler.java:234) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at org.jbpm.task.service.local.LocalTaskService$SimpleEventTransport.trigger(LocalTaskService.java:329) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
重新加载会话时,我正在注册新的 HumanTaskWorkItemhandlers。它继续向 TaskService 注册事件处理程序。
当我连接 workItemHandlers 时,它们会向 taskService 注册 eventHandlers。这个 eventHandlers 什么时候会从 taskService 中注销?