生命周期方法 运行 多次

Lifecycle methods running multiple times

我在使用 eclipse 建模器创建的 JBoss EAP 6.3 上使用 JBPM 6.1。0.Final。我有一个调用可重用子进程的主进程。我已经覆盖了 ProcessEventListener.afterProcessCompleted 方法以在流程完成时打印流程变量。看起来每次子流程完成时,它都会根据流程完成的次数多次调用 afterProcessCompleted 方法。第一个运行后,会执行一次。在第二个运行之后,会执行两次。第三次运行之后,会执行三次.etc.

我注意到如果我的进程不执行用户任务,该任务将从数据库中的 TASK table 中删除。如果执行用户任务,记录将保留在数据库中,状态为 'Completed'。我不知道这个问题是否重要,但我认为值得一提。

这种多次执行是否发生了预期的行为,或者是否存在导致多次生命周期方法执行的其他问题?

AfterProcessCompleted 只应为每个完成的流程实例调用一次。监听器是否有可能被多次添加到会话中?如果没有,你有复制器吗?你能打开一个 JIRA 并附上这些信息吗?