服务热线
135-6963-3175
分为4种网关
排他网关
只能走一个满足条件的分支,如果有多条符合条件的分支,流程会默认走第一条。
<exclusiveGateway id="exculusivegateway" name="排他网关"></exclusiveGateway>
并行网关
可同时走多个满足条件的分支。并行网关至少有一条分支被执行,而且所有的分支都会被执行。
与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。
要有开始和结束聚合
<parallelGateway id="fork" name="fork"></parallelGateway>
...
<parallelGateway id="join" name="join"></parallelGateway>
包容网关
包容网关有多条或者一条分支会被执行。是并行网关(Parallel Gateway)和排他网关(Exclusive Gateway)的组合。可以在出口顺序流上定义条件,包容网关会计算它们。然而主要的区别是,包容网关与并行网关一样,可以选择多于一条(出口)顺序流。
与排他网关所不同的是,所有条件为true的后继分支都会被依次执行,如果所有分支条件决策都为false且该网关定义了一个默认的连线,那么该默认分支将被执行。
判断包容网关的每个分支连线,条件为true的分支被执行。使用包容网关的分支连线必须设置条件规则,未设置规则的连线被评估为false。
要有分支和结束聚合
<inclusiveGateway id="fork" name="fork"></inclusiveGateway>
事件网关
提供了根据事件做选择的方式。网关的每一条出口顺序流都需要连接至一个捕获中间事件。当流程执行到达基于事件的网关时,与等待状态类似,网关会暂停执行,并且为每一条出口顺序流创建一个事件订阅。
请注意:基于事件的网关的出口顺序流与一般的顺序流不同。这些顺序流从不实际执行。相反,它们用于告知流程引擎:当执行到达一个基于事件的网关时,需要订阅什么事件。有以下限制:
一个基于事件的网关,必须有两条或更多的出口顺序流。
基于事件的网关,只能连接至intermediateCatchEvent(捕获中间事件)类型的元素(Flowable不支持在基于事件的网关之后连接“接收任务 Receive Task”)。
连接至基于事件的网关的intermediateCatchEvent,必须只有一个入口顺序流。
<eventBasedGateway id="gw1" name="基于事件的网关"></eventBasedGateway>