Camunda子流程有两种实现方式:嵌套子流程(Embedded Subprocess)和外部子流程(Call Activity)。以下介绍Camunda嵌套子流程(Embedded Subprocess)的实现方式。
一、什么是嵌套子流程
子流程是包含其他活动、网关、事件等的活动,其本身形成的流程是更大流程的一部分。子流程完全在父流程中定义(这就是为什么它通常被称为嵌入式子流程)。
嵌套子流程有什么用处?以下是官方的解释:
子流程允许分层建模。许多建模工具允许折叠子流程,隐藏子流程的所有细节,并显示业务流程的高级端到端概述。
子流程为事件创建一个新的范围。在子流程执行期间抛出的事件可以由子流程边界上的边界事件捕获,从而为该事件创建一个范围,限制在子流程。
示例流程图:
上面的流程模型表明: 如果我们被邀请去吃饭,我们会取消我们的烹饪过程。然而,如果我们已经在吃了,我们就不会再对邀请做出反应了。用更专业的术语来说,消息事件的范围是子流程,因此只能在子流程处于活动状态时接收消息。
二、流程模拟验证
模拟公文处理流程:拟稿人起草公文——》部门会签——》领导签发,其中部门会签通过嵌套子流程实现。
第一步、设计流程图
BPMN流程模型文件:
<?xml version="1.0" encoding="UTF-8"?> Flow_0rfd9kh Flow_1anv3xt Flow_1c66957 Flow_0e1k6u7 Flow_0e1k6u7 Flow_0e6563y Flow_0e6563y def userList = ["user1","user2","user3"];execution.setVariable("assigneeList", userList); Flow_1l1q3kb Flow_0rfd9kh Flow_1anv3xt Flow_1c66957 Flow_1l1q3kb
第二步、发起流程
通过demo用户登录camunda平台http://localhost:8080/camunda/app/tasklist/default/#/login,发起流程:
启动流程后,此时流程在主流程第一个活动节点,点击提交流程。
第三步、审批流程
提交流程后,流程自动进入嵌套子流程,该流程设置了3个用户模拟并行会签,所以收到3个待办任务,这3个任务是并行的,分别通过user1、user2、user3登录后处理,完成子流程会签。
user1、user2、user3会签完成后,流程自动进入主流程。
页面更新:2024-03-03
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号