activiti——网关

网关用于控制流程走向,根据功能不同可以划分为以下4种网关:

排他网关

用来对流程中的决定进行建模,流程执行到该网关时,按照输出流的顺序逐个计算,当条件为true时,继续执行当前网关的输出流。

如果多个线路的计算结果都为true,那么只会执行第一个值为true的网关,忽略其他表达式的值为true的网关。如果多个网关计算结果没有为true的值,则引擎会抛出异常。

并行网关

并行网关用来对并发的任务进行流程建模,它能把单条线路任务拆分(fork)成多个路径并行执行或将多条线路合并(join).

并行网关的功能取决于输入、输出顺序流:

拆分:并行执行所有的输出顺序流,并且为每一条顺序流创建一个并行执行路线;

合并:所有从并行网关拆分并执行完成的线路均再次等候,知道所有的线路都执行完成才继续向下执行。

并行网关还允许在线路上嵌套并行网关,也就是在fork拆分的线路上再添加n个fork线路,只要保证最后又一个join点合并拆分的线路即可。

包容网关

包容网关融合了排他网关和并行网关的特性,排他网关允许再每条线路上设置条件,并行网关可以同时执行多条线路,包容网关即可以同时执行多条线路,又允许再网关上设置条件。

拆分:计算每条线路上的表达式,当表达式计算结果为true时,创建一个并线线路并继续执行;

合并:所有从并行网关拆分并执行完成的线路均再次等候,直到所有的线路都执行了才继续向下执行。

事件网关

事件网关是专门为中间捕获事件设置的,它允许设置多个输出流指向多个不同的中间捕获事件(最少2个)。在流程执行到事件网关后,流程处于“等待”状态,因为中间捕获事件需要依赖中间抛出事件触发才能更改“等待”状态为“活动”状态,定时器捕获事件除外(它由时间驱动)。

关于时间网关需要注意几点:

1、事件网关的输出流数量必须大于2个;

2、事件网关的输出流类型只能是中间捕获事件,activiti不支持接受任务后面的事件网关;

3、中间捕获事件的输出流只能有一个。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发哥1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值