Camunda调用子流程案例

调用子流程

调用子流程是指子流程在主流程的外面。子流程一般是多个流程可重用的流程,也可以独立调用子流程。
可以对比编程中的方法抽取。子流程运行时,主流程也是等待状态。子流程结束,主流程继续。

立即体验,请访问JeecgFlow

BPMN设计

主流程

在这里插入图片描述

全局配置

在这里插入图片描述

上传视频

在这里插入图片描述

处理单个视频

在这里插入图片描述

确认上传

XML内容

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn"><bpmn:process id="Process_called_activity" name="调用子流程" isExecutable="true"><bpmn:startEvent id="StartEvent_1"><bpmn:outgoing>Flow_17do2o9</bpmn:outgoing></bpmn:startEvent><bpmn:sequenceFlow id="Flow_17do2o9" sourceRef="StartEvent_1" targetRef="Activity_0hvc1zt" /><bpmn:userTask id="Activity_0hvc1zt" name="上传视频" camunda:assignee="${customer}"><bpmn:extensionElements><camunda:formData><camunda:formField id="num" label="数量" type="long" defaultValue="1" /></camunda:formData></bpmn:extensionElements><bpmn:incoming>Flow_17do2o9</bpmn:incoming><bpmn:outgoing>Flow_1g4a6nc</bpmn:outgoing></bpmn:userTask><bpmn:sequenceFlow id="Flow_1g4a6nc" sourceRef="Activity_0hvc1zt" targetRef="Activity_0rb7n5o" /><bpmn:sequenceFlow id="Flow_08kb2ee" sourceRef="Activity_0rb7n5o" targetRef="Activity_11s7j95" /><bpmn:userTask id="Activity_11s7j95" name="确认上传" camunda:assignee="aaa"><bpmn:incoming>Flow_08kb2ee</bpmn:incoming><bpmn:outgoing>Flow_0udt21b</bpmn:outgoing></bpmn:userTask><bpmn:endEvent id="Event_0pgl9h9"><bpmn:incoming>Flow_0udt21b</bpmn:incoming></bpmn:endEvent><bpmn:sequenceFlow id="Flow_0udt21b" sourceRef="Activity_11s7j95" targetRef="Event_0pgl9h9" /><bpmn:callActivity id="Activity_0rb7n5o" name="处理单个视频" calledElement="process_sub_process_vedio"><bpmn:extensionElements><camunda:inputOutput /><camunda:out sourceExpression="${targetResult}" target="result" /><camunda:in sourceExpression="${videoName}" target="targetVideoName" /></bpmn:extensionElements><bpmn:incoming>Flow_1g4a6nc</bpmn:incoming><bpmn:outgoing>Flow_08kb2ee</bpmn:outgoing><bpmn:multiInstanceLoopCharacteristics camunda:collection="${videoNameList}" camunda:elementVariable="videoName" /></bpmn:callActivity></bpmn:process>
</bpmn:definitions>

子流程

在这里插入图片描述

视频格式检验。视频内容检查也是同养设置,不赘述。

在这里插入图片描述

监听器将处理结果进行设置

XML内容

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn"><bpmn:process id="process_sub_process_vedio" name="处理单个视频" isExecutable="true"><bpmn:startEvent id="StartEvent_1"><bpmn:outgoing>Flow_1uxffv9</bpmn:outgoing></bpmn:startEvent><bpmn:sequenceFlow id="Flow_1uxffv9" sourceRef="StartEvent_1" targetRef="Gateway_07vpeap" /><bpmn:parallelGateway id="Gateway_07vpeap"><bpmn:incoming>Flow_1uxffv9</bpmn:incoming><bpmn:outgoing>Flow_1705jbd</bpmn:outgoing><bpmn:outgoing>Flow_1v6afyz</bpmn:outgoing></bpmn:parallelGateway><bpmn:sequenceFlow id="Flow_1705jbd" sourceRef="Gateway_07vpeap" targetRef="Activity_1djbbmd" /><bpmn:serviceTask id="Activity_1djbbmd" name="视频格式" camunda:delegateExpression="${videoFormatTask}"><bpmn:incoming>Flow_1705jbd</bpmn:incoming><bpmn:outgoing>Flow_1fpwrea</bpmn:outgoing></bpmn:serviceTask><bpmn:sequenceFlow id="Flow_1v6afyz" sourceRef="Gateway_07vpeap" targetRef="Activity_1ap7i3h" /><bpmn:serviceTask id="Activity_1ap7i3h" name="内容审查" camunda:delegateExpression="${videoContentCheckTask}"><bpmn:incoming>Flow_1v6afyz</bpmn:incoming><bpmn:outgoing>Flow_06q9myy</bpmn:outgoing></bpmn:serviceTask><bpmn:parallelGateway id="Gateway_0r05r0g"><bpmn:incoming>Flow_1fpwrea</bpmn:incoming><bpmn:incoming>Flow_06q9myy</bpmn:incoming><bpmn:outgoing>Flow_1q8g3uy</bpmn:outgoing></bpmn:parallelGateway><bpmn:sequenceFlow id="Flow_1fpwrea" sourceRef="Activity_1djbbmd" targetRef="Gateway_0r05r0g" /><bpmn:sequenceFlow id="Flow_06q9myy" sourceRef="Activity_1ap7i3h" targetRef="Gateway_0r05r0g" /><bpmn:endEvent id="Event_0cycxs7"><bpmn:incoming>Flow_1q8g3uy</bpmn:incoming></bpmn:endEvent><bpmn:sequenceFlow id="Flow_1q8g3uy" sourceRef="Gateway_0r05r0g" targetRef="Event_0cycxs7"><bpmn:extensionElements><camunda:executionListener event="take"><camunda:script scriptFormat="groovy">def result="正常";
execution.setVariable("targetResult",result);</camunda:script></camunda:executionListener></bpmn:extensionElements></bpmn:sequenceFlow></bpmn:process></bpmn:definitions>

测试验证

在这里插入图片描述

使用关羽的账号,登陆camunda演示站点,并且发起流程

在这里插入图片描述

点击预览,可以看到流程运行轨迹

在这里插入图片描述

点击上一步的[处理单个视频]节点,可以看到多实例运行的情况。可以看到有2次运行记录。至此完成调用子流程的演示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWTK HTML View 控件更新

AWTK HTML View 控件基于 Lite HTML 实现&#xff0c;从最初的版本开始&#xff0c;3 年多过去了&#xff0c;Lite HTML 做了大量的更新&#xff0c;最近抽空将 AWTK HTML View 控件适配到最新版本的 Lite HTML&#xff0c;欢迎大家使用。 AWTK HTML View 控件。HTML View 控件…

玩转Python Turtle库,实现满屏飘字的魔法!

前言 本文将教你如何使用Python的Turtle库&#xff0c;通过简单的编程实现满屏飘字的炫酷效果。无需复杂的编程知识&#xff0c;跟着我们的步骤&#xff0c;你也可以成为编程小达人&#xff01; 效果展示 开发过程 一、准备工作 首先&#xff0c;确保你的电脑上已经安装了Py…

12. GIS地图制图工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

2. GIS数据工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

COD论文笔记 BiRefNet

本质还是一个 U 型编码器解码器结构的分割模型。 我可以考虑将©和(d)结合&#xff0c;即对解码器的输入不进行 patchify,同时在各个阶段引入梯度参考信息 最近的相关工作&#xff0c;中间监督、额外先验(频率&#xff0c;梯度&#xff0c;边缘等)取得不错效果 作者观察到…

Post-Training有多重要?一文带你了解全部细节

1. 简介 随着LLM学界和工业界日新月异的发展&#xff0c;不仅预训练所用的算力和数据正在疯狂内卷&#xff0c;后训练&#xff08;post-training&#xff09;的对齐和微调方法也在不断更新。InstructGPT、WebGPT等较早发布的模型使用标准RLHF方法&#xff0c;其中的数据管理风…

高效实用的网站ICP备案查询接口

随着互联网的日益发展&#xff0c;对于网站的监管变得越来越重要。为了更好地管理和监督互联网上的网站&#xff0c;官方要求所有在中国境内的网站都需要进行ICP备案。因此&#xff0c;ICP备案不仅是法律要求&#xff0c;也是衡量一个网站是否正规的重要标志之一。为了便于开发…

【Redis】Redis 集群搭建与管理: 原理、实现与操作

目录 集群 (Cluster)基本概念数据分片算法哈希求余⼀致性哈希算法哈希槽分区算法 (Redis 使⽤) 集群搭建 (基于 docker)第⼀步: 创建⽬录和配置第⼆步: 编写 docker-compose.yml第三步: 启动容器第四步: 构建集群 主节点宕机演⽰效果处理流程1)故障判定2)故障迁移 集群扩容第⼀…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

el-table使用type=“expand”根据数据条件隐藏展开按钮

一&#xff1a;添加className <el-table :data"tableData" border :loading"loading" :row-class-name"getRowClass" expand-change"expandchange"><el-table-column type"expand"><template #default"…

python学习11-Pytorch张量与数据处理1

ndarray 首先&#xff0c;我们介绍n维数组&#xff0c;也称为张量&#xff08;tensor&#xff09;。 使用过Python中NumPy计算包的读者会对本部分很熟悉。 无论使用哪个深度学习框架&#xff0c;它的张量类&#xff08;在MXNet中为ndarray&#xff0c; 在PyTorch和TensorFlow中…

华为eNSP:NAT Server(端口映射)

一、拓扑图 二、配置过程 此处省略设备地址以及路由配置过程 1、服务器开启ftp服务 2、路由器配置nat server [r4]int g0/0/2#进入流量出接口 [r4-GigabitEthernet0/0/2]nat server protocol tcp global 192.168.3.11 ftp inside 192.168.2.1 ftp# …

SnapGene 5.3.1下载安装教程百度网盘分享链接地址

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 SnapGene介绍 SnapGene 5.3.1下载安装教程百度网盘分享链接地址&#xff0c;SnapGene 是一款由美国公司开发&#xff08;后被收购&#xff09;的分子生物学软件&#xff0c;…

基于YOLO8的图片实例分割系统

文章目录 在线体验快速开始一、项目介绍篇1.1 YOLO81.2 ultralytics1.3 模块介绍1.3.1 scan_task1.3.2 scan_taskflow.py1.3.3 segment_app.py 二、核心代码介绍篇2.1 segment_app.py2.2 scan_taskflow.py 三、结语 代码资源&#xff1a;计算机视觉领域YOLO8技术的图片实例分割…

Java中Json、String、jsonObject、jsonArray格式之间的互相转换 (Fastjson、Gson、String字符串分隔)

1.org中jackson转换json,springboot中内置jackson ObjectMapper onew ObjectMapper();List<>listnew ArrayList();String jonso.writeAsValueString(list); 一、Fastion 使用阿里的fastjson <dependency><groupId>com.alibaba</groupId><artifactId…

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

1.2CubeMAX创建FREERTOS入门示例

1.CUBEMAX快速配置 V2改为V1否则编译会报错 2.Freertos各配置选项卡解释 Events &#xff1a;事件相关的创建 Task and Queues &#xff1a; 任务与队列的创建 Timers and Semaphores &#xff1a; 定时器和信号量的创建 Mutexes &#xff1a; 互斥量的创建 FreeRTOS Heap…

临床基础两手抓!这个12+神经网络模型太贪了,免疫治疗预测、通路重要性、基因重要性、通路交互作用性全部拿下!

生信碱移 IRnet介绍 用于预测病人免疫治疗反应类型的生物过程嵌入神经网络&#xff0c;提供通路、通路交互、基因重要性的多重可解释性评估。 临床实践中常常遇到许多复杂的问题&#xff0c;常见的两种是&#xff1a; 二分类或多分类&#xff1a;预测患者对治疗有无耐受(二分类…

如何在3DMAX中实现大规模项目的地形建模?

在房地产开发项目的环境建模过程中&#xff0c;我们对斜坡和不平坦地形进行建模是一项具有挑战性的任务。 我们已经制定了两种方法来纠正这一点。首先&#xff0c;让我告诉你&#xff0c;我们并没有想过如何使用NURBS来实现这一点&#xff0c;我们通常坚持使用多边形&#xff…

英语每日一段 195

Promising economic indicators won’t instantly reverse the lingering impact of hard times for millions of families, workplace culture expert Jessica Kriegel said. “Perception and reality are sometimes aligned and sometimes not,” Kriegel told Newsweek. “…