springboot+Activiti7整合实践 (九) 网关

系列文章目录

第一章 springboot+Activiti7整合实践 (一)

第二章 springboot+Activiti7整合实践 (二) 模型定义

第三章 springboot+Activiti7整合实践 (三) 流程定义

第四章 springboot+Activiti7整合实践 (四) 分配规则

第五章 springboot+Activiti7整合实践 (五) 发布流程

第六章 springboot+Activiti7整合实践 (六) 启动流程(1)

第七章 springboot+Activiti7整合实践 (七) 自定义用户任务行为

第八章 springboot+Activiti7整合实践 (八) 待办任务


前言

activiti工作流中,网关是非常常用的组件,用于处理流程中分支的情况,“如请假3天以内,需要部门经理审批,如果三天以上,需要找总经理审批”,这时候就需要使用网关处理,在实际业务中,流程一般都比较复杂,需要支持动态处理各种情况的发生,所以,网关就像一个处理流程分发的端口,起到处理流程走向重要功能。

常见的网关有:排他网关、并行网关、相容网关、事件网关(了解即可)

一、排他网关 ExclusiveGateway

顾名思义,排他官网就是多条分支线路,只会选择其中一条路来执行,与java中的if-else同理,如下图所示,根据请假天数(流程变量)不同,会选择不同的流程来执行,实现其功能的就是中间的排他网关。

除了配置合适的网关,还要对网关出口的连线进行条件配置,如(day>3),当流程进行到网关,网关会根据出口连线的条件,拿当前的流程参数就行判断,选择结果为真的分支运行。

二、并行网关 ParallelGateWay

 与排他网关只选择其中一条线路执行不同,并行网关会使流程流转所有的分支,相当于创建多个独立的子流程,并且没有先后顺序,然后聚合所有的分支,当所有分支都执行完毕之后,流程才会往下流转。

注意:并行网关的出口连线也可以写流转条件,但不生效,流程仍会流转所有分支。

并行网关其实就是用来实现会签功能的,多人联合签署、签字、确认,所有人都完成签字后才会发布。

三、相容网关 InclusiveGateway

相容网关就是排他网关与并行网关的结合,既可以设置流转条件控制流程,又可以使一个或多个符合条件的流程并行执行。

如下所示请假流程图,可分解为3中情况,

1.小于3天:hr审批

2.大于等于3天且小于等于5天:副总经理审批

3.大于5天:副总经理和总经理审批


四、事件网关 Event-Based Gateway

有时候流转条件的判断并不全依赖于流程参数,网关可根据不同的事件进行流程流转,这种情况就需要事件网关,事件网关只进行拆分分支,没有聚合功能。(没用过,当作记录)

总结

网关是工作流中重要的组成部分,使工作流程更加的灵活多变,能支撑更复杂的业务流程,以上是实际应用中几乎一定会用到的网关,影响业务流程,在绘制bpmn流程图的时候需要合理运用,在java代码上没有什么特殊处理,所以也没什么代码可贴。

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘一线

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

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

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

打赏作者

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

抵扣说明:

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

余额充值