使用外部抛出事件终止BPMN子流程



我有一个使用问题,需要一些建议。

我有一个进程,它有一个循环的主流,每n小时重试一次任务,直到满足条件或达到超时。到目前为止还不错。

有一个事务子进程被触发与该主循环并行运行,只要该主循环处于活动状态,它就会执行自己的循环行为(每x天)。只要主循环继续,第二个循环就应该运行,一旦主循环达到其进展标准之一,就应该终止。

我想对其进行建模的方式是在主流通过进度标准后使用消息/信号抛出事件,并将相应的捕获消息/信号作为子流程上的边界事件,然后在子流程的边界内触发子流程结束/终止事件。

我仔细研究了资源和标准,没有看到任何人以这种方式使用边界事件的例子(作为来自子流程外部的输入,导致子流程内部的结束事件)。知道这是否有效吗?

如果无效,有人有更好的方法让主流以这种方式杀死子流程吗?

主进程:开始,并行网关(fork),第一个分支包含子进程1,第二个分支包含个子进程2,独占网关(join),结束。

子流程1:开始,循环,在一定条件下退出循环,然后结束。

子进程2:开始,循环,没有结束节点。

这样,子流程2就不会导致循环结束。但是,子流程1可以结束,通过独占加入网关,子流程2也将结束。

我不太确定BPMN中是否真的正式允许使用并行分叉和排他连接。但是有些工具可以处理它,我从一个工具供应商(Bonita)那里收到了这个提示。

最新更新