当前位置:网站首页>Activiti工作流网关
Activiti工作流网关
2022-07-19 01:28:00 【蓝天⊙白云】
排他网关
排他网关,用来在流程中实现决策。 当流程执行到这个网关,所有分支都会判断条件是否为true,如果
为true则执行该分支,
注意:排他网关只会选择一个为true的分支执行。如果有两个分支条件都为true,排他网关会选择id值较小的一条分支去执行。并行网关
并行网关允许将流程分成多条分支,也可以把多条分支汇聚到一起,并行网关的功能是基于进入和外出顺序流的。
注意,如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。 这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。
与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。
并行网关在业务应用中常用于会签任务,会签任务即多个参与者共同办理的任务。包含网关
包含网关可以看做是排他网关和并行网关的结合体。
和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关一样。
包含网关的功能是基于进入和外出顺序流的:
l 分支:
所有外出顺序流的条件都会被解析,结果为true的顺序流会以并行方式继续执行, 会为每个顺序流创建
一个分支。
l 汇聚:
所有并行分支到达包含网关,会进入等待状态, 直到每个包含流程token的进入顺序流的分支都到达。
这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在汇聚之后,
流程会穿过包含网关继续执行。
- 事件网关
事件网关允许根据事件判断流向。网关的每个外出顺序流都要连接到一个中间捕获事件。 当流程到达一个基于事件网关,网关会进入等待状态:会暂停执行。与此同时,会为每个外出顺序流创建相对的事件订阅。
事件网关的外出顺序流和普通顺序流不同,这些顺序流不会真的"执行", 相反它们让流程引擎去决定执行到事件网关的流程需要订阅哪些事件。 要考虑以下条件:
- 事件网关必须有两条或以上外出顺序流;
- 事件网关后,只能使用intermediateCatchEvent类型(activiti不支持基于事件网关后连接 ReceiveTask)
- 连接到事件网关的中间捕获事件必须只有一个入口顺序流。
intermediateCatchEvent支持的事件类型:
Message Event: 消息事件
Singal Event: 信号事件
Timer Event: 定时事件
总结:用大白话解释
- 排他网关:解析条件,要不报错,要不走一个
- 并行网关:不解析条件,不报错,都走
- 包含网关:解析条件,条件成立就走,不成立就不走,全都不成立报错
- 事件网关:基于事件触发一个。
- 整合配置
databaseSchemaUpdate的取值注意:
- flase: 默认值。activiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹 配,将抛出异常。(生产环境常用)
- true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常 用)
- create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)。 (单元测试常用)
- drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)。
边栏推荐
猜你喜欢
重磅!中国开源地图正式启动,诚挚邀请所有开源社区加入共创~
[leetcode daily question] - 108 Convert an ordered array into a binary search tree
【自校正控制】递推最小二乘法
Heavy! China open source map was officially launched, and we sincerely invite all open source communities to join us to create ~
注解开发
二分查找 33. 搜索旋转排序数组
The target cannot obtain the IP address. What should I do?
js 获取两个时间段的时间组成数组
codeforces每日5题(均1500)-第十九天
机器学习强基计划0-2:什么是机器学习?和AI有什么关系?
随机推荐
ShareIt group was ranked among the top 4 companies in the Indonesian market
The target cannot obtain the IP address. What should I do?
c语言---程序环境与预处理
win11右键改为win10方式
代码动态控制TextView右移(而不是xml)
音视频技术开发周刊 | 254
动态内存管理——C语言
今日直播|Apache Pulsar Meetup:vivo、腾讯云、BIGO、云兴科技实践分享
使用 My SQL Server 實現數據科學的 SQL 查詢教程
Leetcode exercise - Sword finger offer 32 - III. print binary tree III from top to bottom
机器学习强基计划0-2:什么是机器学习?和AI有什么关系?
React. The data cached by context and Redux cannot be shared across browser tabs. How to solve it?
468-82(142、199、509、70、746)
Luogu p1016 [noip1999 improvement group] traveller's budget solution
SHAREit Group荣登印尼市场热门公司榜单TOP4
Luogu p1792 [national training team] tree planting solution
Threads and processes ----- theory
INE Penetration Testing Basics 黑盒渗透测试过程
Arthas查看已加载类的源码(jad)
DeFi 2.0的LaaS协议Elephant,重振DeFi赛道发展的关键