activiti第二天: 4. 并行网关(ParallelGateWay)

项目: itcast0711 > cn.itcast.h_parallelGateWay
并行网关: 可以同时执行多个流程, 直到总流程的结束. 可以对流程进行分支和聚合, 注意: 这时的流程实例和执行对象是不一样的.

一. 设计流程图

    含有并行网关的流程并没有比较复杂的属性配置(只需要配置id,name和任务办理人即可), 因为是并行的, 并没有流程走向的控制, 也就没有什么连线条件配置.
在这里插入图片描述

二. 流程(并行网关)部署启动后相关表数据变化

  • 正在执行的执行对象表 act_ru_execution (3条数据, 并行分支数2+流程实例1)
    在这里插入图片描述
  • 流程实例的历史表 act_hi_procinst (1条数据)
    在这里插入图片描述
  • 正在执行的任务表 act_ru_task (2条数据, 并行分支数)
    在这里插入图片描述
  • 历史任务表 act_hi_taskinst (2)
    在这里插入图片描述
  • 历史活动节点表 act_hi_actinst (4, +并行网关)
    在这里插入图片描述

三. 特殊情形,相关表分析

    当其中一个并行分支优先完成(如: 发货->收货任务完成; 付款->收款还未完成)时, 相关表数据变化(无特殊变化的表略去)

  • 正在执行的执行对象表 act_ru_execution (还是3条数据)

在这里插入图片描述

  • 历史活动节点表 act_hi_actinst (7, 并行网关*2)
    在这里插入图片描述

四. 当并行分支全部完成时, 相关表数据 变化

  • 历史活动节点表 act_hi_actinst (9, 并行网关*3)

在这里插入图片描述

五. 总结

  1. 一个流程中流程实例只有1个,执行对象有多个
  2. 并行网关的功能是基于进入和外出的顺序流的:
    分支(fork): 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。
    汇聚(join): 所有到达并行网关,在此等待的进入分支,直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。
  3. 如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。 这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支
  4. 并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。
  5. 并行网关不需要是“平衡的”(比如, 对应并行网关的进入和外出节点数目不一定相等)。如图中并行流程是合法的:
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值