1. 条件表达式
使用流程变量,设置连线需要的流程变量名称及条件${info==‘重要’},${}中的内容为boolean类型,用于判断是否执行该连线。启动流程实例时,传入对应的流程变量info的值,流程会按照设置的条件进行流转。
2. 排他网关
1) 一个排他网关对应一个以上信息流;
2)由排他网关流出的顺序刘都有个conditionExpression元素(以.xml形式打开),在内部维护返回boolean类型的决策结果;
3)排他网关只会返回一条结果。当刘晨执行到排他网关时,流程引擎会自动检索网关出口,从上到下检索(xml)如果发现第一条决策结果为true或者没有设置条件(默认为成立),则流出;
4)如果没有任何一个出口符合条件,则抛出异常;
5)使用流程变量,设置连线的条件,并按照连线的条件执行工作流,如果没有条件符合的,以默认的连线离开。
3. 并行网关
1)一个流程中流程实例只有1个,执行对象有多个
2)并行网关的功能是基于进入和外出的顺序流的:
- 分支(fork):并 行后的所有外出顺序流,为每个顺序流都创建-一个 并发分支。
- 汇聚(join):所有 到达并行网关,在此等待的进入分支,直到所 有进入顺序流的分
支都到达以后,流程就 会通过汇聚网关。
3)并行网关的进入和外出都是使用相同节点标识
4)如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。
这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。
5)并行网关不会解析条件。即使顺序流中定义 了条件,也会被忽略。
6)并行网关不需要是“平衡的”(比如,对应并行网关的进入和外出节点数目不- - 定相等)。
如图中标示是合法的: