Camunda 如何调用嵌套子流程

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

标签:嵌套   式子   流程   流程图   建模   边界   模型   主流   部门   事件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top