16排他网关(exlusive gateway)
Posted 老柳聊技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16排他网关(exlusive gateway)相关的知识,希望对你有一定的参考价值。
描述
排他网关是指在多条执行路径时,根据条件判断选择其中一条路径执行的网关,相当于程序中条件控制,if … elseif… else…。
需求
假设员工小明(xiaoming)请假,天数小于等于3天直接上级(wangbing)审批即可,大于3天小于等于5天需要直接上级(wangbing)和部门经理(zhangsan)都要审批,大于5天需要直接上级(wangbing),部门经理(zhangsan)和总经理(wangwu)三者审批。
设计BPMN
1.开始事件中设置start initiator
2.员工请假任务
指定任务请假人就是启动的人,添加请假表单两个属性变量reason(请假原因),leaveDays(请假天数)
3.排他网关与条件
小于等于3天,后面任
camunda-bpmn-网关(Gateways)
参考技术A Data-based Exclusive Gateway (XOR) 是一个排他网关,当流程到达这个网关时,会去执行每个分支上的条件表达式,流程会沿着条件执行结果为true的分支继续进行,如果多个分支为true,则选择第一分支进行执行,如果所有的分支都为false,则报错,流程可以有默认分支,类似if else逻辑,当都为false时,走默认分支。
Conditional and Default Sequence Flows 严格意义上来说,这不是一种网关,它描述的是排他网关的默认条件分支和条件分支两种类型,且这两种类型都不属于网关(官方文档将这两个放到网关里进行描述,且给了一个分类,此处尊重官方文档)
Parallel Gateway 并行网关,即通过此网关后的任务并行进行,或者在这个网关之前的任务并行进行
Inclusive Gateway 包含性网关(这个翻译好像不能准确的表达这个网关所包含的意思),包含性网关可以看做是排他网关(XOR)和并行网关的结合(Parallel Gateway),它可以在流程分支上定义条件,流程会去执行条件,并返回结果true或者false,但是它又支持多个条件同时为true,进行并行处理,像并行网关一样,简单说就是包含性网关实现了有条件的fork - join功能
Event-based Gateway 基于事件的网关,基于事件的网关可以做出基于事件的决策,基于事件的网关的每一个分支(每一个outgoing),都是一个被捕获的中间事件(intermediate catching event),当流程到这种类型的网关,流程就会像被挂起(suspended)一样,分支(outgoing)上的事件会被创建。跟普通的流程序列(sequence flows)不一样,基于事件的网关不会真正的执行,它会等待流程事件的发生,并判断这个事件属于哪个分支,然后让流程沿着这个分支继续执行。
以上是关于16排他网关(exlusive gateway)的主要内容,如果未能解决你的问题,请参考以下文章
springcloud-Finchley学习笔记-gateway网关自定义过滤器