项目实践工作流之Activiti学习(四十)

2023-11-21 14:04:21 浏览数 (3)

5.2.2流程定义

图标:

5.2.3测试

当执行到并行网关数据库跟踪如下:

当前任务表:SELECT * FROM act_ru_task #当前任务表

上图中:有两个(多个)任务当前执行。

通过流程实例执行表:SELECT * FROM act_ru_execution #流程实例的执行表

上图中,说明当前流程实例有多个分支(两个)在运行。

对并行任务的执行:

并行任务执行不分前后,由任务的负责人去执行即可。

当完成并任务中一个任务后:

已完成的任务在当前任务表 act_ru_task_已被删除。

在流程实例执行表:SELECT * FROM act_ru_execution 有中多个分支存在且有并行网关的汇聚结点。

有并行网关的汇聚结点:说明有一个分支已经到汇聚,等待其它的分支到达。

当所有分支任务都完成,都到达汇聚结点后:

流程实例执行表:SELECT * FROM act_ru_execution,执行流程实例不存在,说明流程执行结束。

总结:所有分支到达汇聚结点,并行网关执行完成。

5.3 包含网关

5.3.1什么是包含网关

包含网关可以看做是排他网关和并行网关的结合体。 和排他网关一样,你可以在外出顺序流上

定义条件,包含网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行

网关一样。

包含网关的功能是基于进入和外出顺序流的:

 分支:

所有外出顺序流的条件都会被解析,结果为 true 的顺序流会以并行方式继续执行, 会为每个顺序流

创建一个分支。

 汇聚:

所有并行分支到达包含网关,会进入等待状态, 直到每个包含流程 token 的进入顺序流的分支都到达。 这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在汇聚之后,流程会穿过包含网关继续执行。

0 人点赞