首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BPM2.0并行网关等待/独占网关新迭代

BPM2.0并行网关等待/独占网关新迭代
EN

Stack Overflow用户
提问于 2014-10-20 15:23:45
回答 1查看 1.7K关注 0票数 3

下面是我的问题:必须分别检查分叉之后的所有三个序列流,如果它们是负的,我希望启动一个不同的进程P2。在P2完成之后,我想回到从P1开始的过程,并且在分叉之后再次检查所有三个序列流。

也许有一个例子有助于理解:我们假设C1和C2是正的,C3在第一次迭代中是负的,所以系统在C3的合并网关等待,而另一个迭代是在进程P2之后开始的。在第二次检查中,C1和C3为阳性,C2为阴性。问题是:排他性网关将加入序列流,就好像所有的检查都是正的一样,即使在第二次迭代中C2是负的。我希望只有在同一次迭代中所有检查都为正时,它才能加入它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-20 16:05:06

使用合并网关连接并行分支,然后只使用一个独占网关检查条件。这更容易理解和维护,因为它使用较少的网关。

如果应该尽快终止C1、C2和C3,则可以将这三个分支提取到一个子进程中。如果一个分支失败,子进程会抛出一个信号,而周围的进程会捕获它。

没有子进程,您将需要一个额外的独占网关和连接到每个分支中的每个活动的合并网关。如果C1、C2和C3不是简单的活动,而是序列,但是对于简单的工作流来说,这可以很快地加起来。

P2之后的合并网关防止竞争条件。例如,如果P2在C3之前完成,那么第二次迭代将在第一个结束之前开始。

(最终,在分支中的每个活动之后,您都需要一个额外的并行网关来拆分路径。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26469238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档