在 jBPM 6 中终止流程实例

Terminate process instance in jBPM 6

也有类似的问题

同样,我想实现在任何任务(脚本任务、用户任务、服务任务)中终止流程实例的能力。我可以尝试为工作流程中的每个任务添加一个带有中间捕获事件的网关。但它似乎效率低下并且使bpm图变得混乱。

在 Oracle BPM 中,很容易有一个 Message Wait 事件和一个我可以执行的自动任务 this.action=ABORT

与我的 jBPM 流程类似,用户会通过 UI 发送 "terminate" 命令,这将终止流程。但是,在终止之前,该过程将进行一些 post 处理(即:更新数据库 table 或发送电子邮件以通知用户终止),我想在自定义工作项处理程序中执行这些处理.工作流程的示例如下所示。我知道这不符合用户任务应该有一个传入和一个传出连接的bpm规范。

我建议使用信号事件子流程,它会监听一些 'terminate' 信号并执行终止脚本,然后终止流程实例。您可以将其指定为图表中的一个单独部分(基本上删除您添加的节点,并在按钮上放置一个新的事件子流程,并使用信号事件 -> 脚本 -> 终止结束事件)。