我在使用eclipse建模器创建的JBoss EAP 6.3上使用JBPM 6.1.0.Final。我有一个主进程调用可重用的子进程。我重写了ProcessEventListener.afterProcessCompleted方法,以在进程完成时打印Process Variables。似乎每次子进程完成时,它会多次调用afterProcessCompleted方法,具体取决于进程完成的次数。第一次运行后,它将执行一次。第二次运行后,它将执行两次。第三次运行后,它将执行三次.etc。
我注意到如果我的进程没有执行用户任务,则会从数据库中的TASK表中删除该任务。如果执行了用户任务,则记录将保留在状态为“已完成”的数据库中。我不知道这个问题是否重要,但我认为值得一提。
此多次执行是否发生了预期的行为,还是存在导致多个生命周期方法执行的其他问题?
答案 0 :(得分:1)
仅对每个已完成的流程实例调用AfterProcessCompleted一次。是否有可能将监听器多次添加到会话中?如果没有,你有复制品吗?你能打开一个JIRA并附上这些信息吗?