包含网关的概念及案例演示

包容网关

知识点讲解

包容网关可以看作排他网关和并行网关的结合体。与排他网一样,可以在外出顺序流上定义条件,但与排他网关不同的是,

进行决策判读时,包容网关所有条件为true的后继分支都会被依次执行。如果所有分支条件都为false并且定义了一条默认分支,
那么该默认分支会被执行。
如果没有可被执行的分支,则会抛出异常(在流程设计要避免出现这种情况)。

包容网关同样包含分支和合并两种行为。

分支及包容拆分。所有外出顺序流的条件都会被解析,结果为true的顺序流会以并行的方式继续执行,并为每条顺序流创建一条分支。如果后继分支都是false,则应

合理的选择一条默认路径,否则流程引擎执行到该网关的分支都将中断于此。

合并即包容合并。所有到达包容网关的活动分支路径都汇聚于此等待,直到所有"可以到达"包容网关的分支路径全部"到达"包容网关,流程才会通过包容网关。这与并行网关的合并策略

有所不同。

包含网关路径的逻辑为: 计算该流程实例中当前所处的所有节点,检查从其位置是否有一条到达包含网关的路径(忽略顺序流上的任何条件)。如果存在这种的路径(可到达但尚未到达),则不会出发包容网关的合并行为。 所有在流程设计尽量避免网关嵌套,防止包容网关认为路径可能不被到达而放弃等待。

流程设计

请假天数不同,流转到不同的分支节点进行审批

流程验证

读者可以登陆系统,自行验证包容网关的运行情况。Activiti演示站

更多关于工作流文档

相关推荐
芒果披萨12 分钟前
El表达式和JSTL
java·el
q5673152312 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
许野平37 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
也无晴也无风雨41 分钟前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar1 小时前
yelp数据集上识别潜在的热门商家
开发语言·python
duration~1 小时前
Maven随笔
java·maven
zmgst1 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
跃ZHD1 小时前
前后端分离,Jackson,Long精度丢失
java
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧2 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++