我有一个业务流程要求,其中请求者应该能够“回顾”他提出的工作流程案例。
流程就像,
Start ---> Requestor ----> Approver -----> Updater -----> End
请求者,审批者,更新者是人为的任务。
因此,在Requestor任务完成并转到Approver任务后(如果它没有启动),请求者应该能够“重新调用”流程实例并且流程应该返回到Requestor。
据我所知,Approver“Human Task”的工作项目将可用。如果我中止该工作项(内部任务退出),流程是否会返回“请求者”?
如果它不会回流,我想知道我是否可以在流程定义中添加一些信号处理程序并进行中止。
Start ---(signal handler to abort Approver task)----> Requestor ----> Approver -----> Updater -----> End
环境:JBoss 7.1.0,JBPM 5.4.0.Final,Drools 5.5.0.Final,Spring 3.0.6.RELEASE
答案 0 :(得分:2)
我看到了用“ Attached中级事件”实现此要求的可能性。 我已经将“中间事件”附加到“审批者”任务,并且在该事件中流程返回到“请求者”。
因此流程变为
Start -------> Requestor ----> Approver (signal handler to go back to Requestor) -----> Updater -----> End
当我将该事件发送到“审批者”任务中的流程实例时,流程返回到请求者并且已创建新任务。
但“审批人”任务仍处于“ Ready ”状态。如何处理?此信号必须 完成/退出 。 怎么做?
更新1:
我能够通过“信号中间事件”的“ CancelActivity ”属性退出任务/活动。因此,在收到信号时,“审批者”任务为“退出”并且流程返回“请求者”任务。