【第十一篇】Flowable中的各种网关

21 篇文章 41 订阅 ¥39.90 ¥99.00
本文详细介绍了Flowable中的四种网关:排他网关、并行网关、包含网关和事件网关。排他网关实现决策模型,选择第一条符合条件的顺序流;并行网关用于流程分支与汇聚;包含网关结合排他与并行功能;事件网关则依据事件触发流程流向。
摘要由CSDN通过智能技术生成

在这里插入图片描述

网关

网关用来控制流程的流向

1.排他网关

  排他网关(exclusive gateway)(也叫异或网关 XOR gateway,或者更专业的,基于数据的排他网关 exclusive data-based gateway),用于对流程中的决策建模。当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流(当没有设置条件时,认为顺序流为true)继续流程。

  请注意这里出口顺序流的含义与BPMN 2.0中的一般情况不一样。一般情况下,会选择所有条件计算为true的顺序流,并行执行。而使用排他网关时,只会选择一条顺序流。当多条顺序流的条件都计算为true时,会且仅会选择在XML中最先定义的顺序流继续流程。如果没有可选的顺序流,会抛出异常。

图示

  排他网关用内部带有’X’图标的标准网关(菱形)表示,'X’图标代表异或的含义。

Flowable是一个开源的业务流程管理引擎,网关Flowable一种常用的网关类型,用于在业务流程进行条件分支。 网关通过判断分支条件来选择只满足条件的一条路径进行流程流转。在Flowable,可以通过XML或者Java代码配置网关的条件和分支路径。 配置网关时,需要先定义网关节点,并设置节点的唯一标识。然后,通过设置网关节点的出口条件,来定义网关的分支条件。 在XML配置,可以使用<sequenceFlow>元素来设置分支条件。每个<sequenceFlow>元素都可以设置一个条件表达式,用来判断该分支是否符合条件。条件表达式可以使用Flowable提供的表达式语言,如${var == 1}或${var > 10}。 在Java代码配置,可以使用Flowable提供的API来设置分支条件。通过调用org.flowable.bpmn.model.SequenceFlow类的条件方法来设置条件表达式,如sequenceFlow.setConditionExpression("${var == 1}")。 配置网关时,还可以设置默认的分支路径。当所有的分支条件均不满足时,流程就会沿着设置的默认路径进行流转。设置默认路径时,只需要在<sequenceFlow>元素的条件不写表达式即可。 网关在流程运行时的行为是,首先会根据各个分支条件表达式的结果进行判断,确定满足条件的分支。然后,仅选择满足条件的一条路径,并根据该路径的出口流转至下一个节点。 总之,网关Flowable一种常用的网关类型,用于根据条件进行业务流程的分支判断和流转。通过XML或Java代码配置分支条件和默认路径,可以实现业务流程的灵活控制。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

波波烤鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值