2

我有一个业务流程要求,请求者应该能够“调用”他提出的工作流案例。

流量就像,

  Start ---> Requestor ----> Approver -----> Updater -----> End

Requestor 、 Approver 、 Updater 是人工任务。

因此,在 Requestor 任务完成并转到 Approver 任务后(如果它没有开始),请求者应该能够“召回”流程实例,并且流程应该返回到 Requestor。

我了解批准人“人工任务”的工作项目将可用。如果我中止该工作项(内部任务退出),流程会返回到“请求者”吗?

如果它不会回流,我想知道我是否可以在流程定义中添加一些信号处理程序并中止。

  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

4

1 回答 1

2

我看到了用“附加的中间事件”来实现这个要求的可能性。我已将“中间事件”附加到“批准者”任务,并且在该事件中,流程返回到“请求者”。

所以流量变成

Start -------> Requestor ----> Approver (signal handler to go back to Requestor) -----> Updater -----> End

当我将该事件发送到“批准者”任务中的流程实例时,流程返回到请求者并创建了新任务。

但“ Approver ”任务仍处于“ Ready ”状态,如何处理?它必须在此信号上完成/退出。怎么做?

更新1:

我能够使用“Signal Intermediate Event”的“ CancelActivity ”属性退出任务/活动。因此,在接收到信号时,“Approver”任务是“Exited”并且流程返回到“Requestor”任务。在此处输入图像描述

于 2013-01-23T13:07:11.007 回答