还有类似的问题 Terminate process at any step (jbpm)
同样,我希望实现在任何任务(脚本任务,用户任务,服务任务)终止流程实例的能力。我可以尝试为工作流中的每个单独任务添加一个带有中间catch事件的网关。但它似乎效率低下,使得bpm图变得杂乱无章。
在Oracle BPM中,我可以轻松地执行Message Wait
事件和自动任务this.action=ABORT
。
同样在我的jBPM流程中,用户会发送"终止"命令通过UI来终止进程。然而,在终止之前,该过程将进行一些后处理(即,更新db表或发送电子邮件以通知用户终止),我想在自定义工作项处理程序中执行。工作流程的一个例子就是看这个。我知道这不符合bpm规范,用户任务应该有一个传入和一个传出连接。
答案 0 :(得分:1)
我建议使用一个信号事件子流程来监听一些终止'发信号并执行终止脚本,然后终止流程实例。您可以将此一次指定为图表中的单独部分(基本上删除您添加的节点,并在带有信号事件的按钮上放置一个新的事件子流程 - >脚本 - >替代终止结束事件)。