Flowable入门系列文章37 - 序列流程

本文深入解读了BPMN2.0中的顺序流程,包括其默认并行特性、图形表示(箭头和条件钻石)、XML语法(id、源目标引用和条件表达式)。同时介绍了如何处理带有条件的序列流,以及相关的XML编码示例和实践应用。
摘要由CSDN通过智能技术生成

1、描述

顺序流程是流程两个元素之间的连接器。在流程执行过程中访问一个元素之后,将遵循所有流出的顺序流程。这意味着BPMN 2.0的默认属性是并行的:两个输出序列流将创建两个独立的并行执行路径。

2、图形表示法

一个序列流被视为从源元素到目标元素的箭头。箭头总是指向目标。
在这里插入图片描述

3、XML表示

序列流需要有一个进程唯一的id和对现有源和目标元素的引用。

<sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" />

4、有条件的顺序流程

描述

序列流可以在其上定义一个条件。当留下BPMN 2.0活动时,默认行为是评估出站序列流的条件。当条件评估为真时,选择该输出顺序流程。当以这种方式选择多个序列流时,将会生成多个执行,并且过程将以并行的方式继续。

注意:上述内容适用于BPMN 2.0活动(和事件),但不适用于网关。网关将根据网关类型以特定方式处理具有条件的序列流。

图形表示法

一个有条件的顺序流被视为一个常规的顺序流,在开始处有一个小钻石。条件表达式显示在序列流旁边。
2017/11/30 流动DOCS(v 6.2.0)http://www.flowable.org/docs/userguide/index.html#_introduction 125/48

XML表示

条件序列流在XML中用常规的序列流表示,包含一个conditionExpression子元素。请注意,目前只支持tFormalExpressions,省略xsi:type =“”定义将简单地默认为唯一受支持的表达式类型。

<sequenceFlow id="flow" sourceRef="theStart" targetRef="theTask">
	<conditionExpression xsi:type="tFormalExpression">
		<![CDATA[${order.price > 100 && order.price < 250}]]>
	</conditionExpression>
</sequenceFlow>

目前,conditionalExpressions 只能与UEL一起使用。有关这些的详细信息可以在表达式部分找到。使用的表达式应该解析为布尔值,否则在评估条件时抛出异常。

  • 下面的例子通过getters引用典型的JavaBean风格的流程变量的数据。
<conditionExpression xsi:type="tFormalExpression">
	<![CDATA[${order.price > 100 && order.price < 250}]]>
</conditionExpression>
  • 这个例子调用一个解析为布尔值的方法。
<conditionExpression xsi:type="tFormalExpression">
	<![CDATA[${order.isStandardOrder()}]]>
</conditionExpression>

Flowable发行版包含以下使用值和方法表达式的示例过程(请参阅org.flowable.examples.bpmn.expression):
在这里插入图片描述

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值