WorkFlow:BPMN 2.0介绍(三):门路(Gateway)

目录

三、门路(Gateway)

1.排它门路(Exclusive (XOR))

2.并行门路(Parallel (AND))

3.包含门路(Inclusive (OR))

4.事件门路(Event-based)


三、门路(Gateway)

将要继续做什么的决策点。

门路具有的共同特点:

  • 分岔(split/fork)

排它门路(exclusive)、并发门路(parallel)、包含门路(inclusive)、事件门路(event-based)

  • 聚合(merge/join)

排它门路(exclusive)、并发门路(parallel)、包含门路(inclusive)

条件路径(Conditional Sequence Flow):从门路伸出的多个分支路径
特点:

  • 可以在上面定义判断条件;
  • 部分门路需要根据判断条件的值是否为TRUE决定此路径是否继续执行;
  • BPMN 2.0默认的特性就是一个活动发出的多条路径都是并行执行的;

1.排它门路(Exclusive (XOR))

用于多选一的场景。从它分出的路径上可以设置判断条件。

 

规则如下:

  • 流程引擎会执行从它发出的所有路径上的判断条件;
  • 若有多个路径判断条件的值为TRUE,则按照路径在XML中定义顺序取第一个值为TRUE的路径继续;
  • 若没有找到任何一个值为TRUE的路径,并且不存在未设置判断条件的路径,则抛出异常;
  • 若存在未设置判断条件的路径,则在没有找到为TRUE的路径时,作为默认路径继续;

2.并行门路(Parallel (AND))

 用于多条路径共同执行的场景。从它分出的路径上不设置判断条件。

规则如下:

  • 并行门路分岔点(fork):从并行门路发出的所有路径都并发执行;
  • 并行门路聚合点(join):等待所有路径都并发执行完成,流程才继续;
  • 并行门路不执行从它发出的路径上设置的判断条件,若有设置,则并行门路直接忽略;
  • 并行门路可以只是分岔点,也可以只是聚合点,也可以即是分岔点又是聚合点;

3.包含门路(Inclusive (OR))

 用于执行部分路径的场景。从它分出的路径上可设置判断条件。

 

规则如下:

  • 包含门路分岔点(fork):从包含门路发出的所有路径上的判断条件都会被执行,判断条件的值为TRUE的路径会继续执行;若有多个判断条件的值为TRUE的路径,则这些路径并发执行;
  • 包含门路聚合点(join):等待所有判断条件的值为TRUE的路径都并发执行完成,流程才继续;
  • 包含门路可以只是分岔点,也可以只是聚合点,也可以即是分岔点又是聚合点;
  • 包含门路的行为介于排它门路和并发门路之间。

 

4.事件门路(Event-based)

 用于由事件触发执行路径的场景。发出的路径上不设置判断条件。

规则如下:

  • 事件门路只能与中间捕获事件相连;这些中间捕获事件相连只能有一条进入路径;
  • 流程执行到事件门路后,将进入到等待状态,流程会挂起;
  • 从事件门路发出的路径数必须大于等于2,且可以连中间捕获事件,也可以连消息接收任务;
  • 从事件门路发出的路径都会创建订阅,一旦其中一条路径上的事件被触发,其它等待中的订阅将被取消。

 参考文档

BPMN 2.0 Symbol Reference
BPMN 2.0 Symbols - A complete guide with examples. - Camunda

BPMN 2.0 Implementation Reference
BPMN 2.0 Implementation Reference | docs.camunda.org

Get started with Camunda
Getting started with Camunda Platform | docs.camunda.org

Camunda User Guide
User Guide | docs.camunda.org

Camunda Best Practices
https://camunda.com/best-practices/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值