Activiti7 网关Gateway【十六】

Activiti 7系列文章目录

文章代码下载

Activiti7 工作流设计器【一】
Activiti7 创建表【二】
Activiti7 表结构介绍 【三】
Activiti7 设计器创建流程 【四】
Activiti7 部署流程【五】
Activiti7 查询流程【六】
Activiti7 删除流程【七】
Activiti7 生成SVG图片【八】
Activiti7 发起任务【九】
Activiti7 查询任务执行流程图【十】
Activiti7 完成任务【十一】
Activiti7 历史数据【十二】
Activiti7 任务办理人、委派、转办、持有人、候选人、候选人组、审批意见【十三】
Activiti7 监听器【十四】
Activiti7 流程变量【十五】
Activiti7 网关Gateway【十六】
Activiti7 整合SpringBoot【十七】
Activiti7 多种任务类型【十八】
Activiti7 子流程【十九】
Activiti7 流程回退、流程拒绝【二十】

ExclusiveGateway 排它网关

所谓网关就是条件分支语句if() else if () ,排它网关会执行所有条件找到一个为true的执行,如果有多个条件为true那么会执行优先定义的(Id较小的那个UserTask),如果条件都为false则抛出异常。
排它网关和直接在连线上设置条件的区别:

  • 条件分支不满条件抛异常,如果都满足都执行。
  • 排它网关不满足条件抛异常,如果都满足只执行Id较小的任务(即先绘制的任务)。
if(day < 3) {

} else if (day > 3) {

} else {
	throw new Exception();
    //上一讲的if条件判断不满足的情况下和排它网关条件不满足的情况下报错信息是一样的
    //org.activiti.engine.ActivitiException: 
    //No outgoing sequence flow of element 'sid-A9E25324-46EC-443E-B561-E582BC24B159' 
    //could be selected for continuing the process
}

image.png

  • day大于等于3天走部门经理审批,大于小于3天直接走人事审批。
  • 修改条件,分别改为day>=3和day>=2,传值day=3,抛异常ActivitiException。

ParallelGateway 并行网关

并行网关没有条件,写了条件也会被忽略,【全部都会执行,这里可以通过在人事审批、CTO审批上添加监听器,看监听器会发现全部执行】,前面做fork分支,后面做join汇聚。

if(true){
	// UserTask
}

if(true){
	// UserTask
}

image.png当【经理审批】完接下来就会同时插入两条任务(人事审批、CTO审批),两个经理审核完后就进入【CEO审批】。

InclusiveGateway 包含网关

包含网关:是同时包括ExclusiveGateway 排它网关和ParallelGateway 并行网关,如果你在连线上写条件就是排它网关,如果没写条件就是ParallelGateway 并行网关。
image.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员一灯

请给我打钱!!!谢谢,不客气!

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

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

打赏作者

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

抵扣说明:

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

余额充值