Camunda Sub Process

2024-01-12 01:12
文章标签 process sub camunda

本文主要是介绍Camunda Sub Process,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:内嵌子流程

在这里插入图片描述

repositoryService.createDeployment().name("内嵌子流程").addClasspathResource("bpmn/embed_sub_process.bpmn").deploy();
identityService.setAuthenticatedUserId("huihui");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("EmbedSubProcess");
Task task = taskService.createTaskQuery() .processInstanceId(processInstance.getId()).singleResult();
taskService.complete(task.getId());

ACT_HI_TASKINST:上传vlog节点已经审批完成
在这里插入图片描述

ACT_RU_TASK:进入子流程,路由网关为并行网关,所以同时出现3个任务。
在这里插入图片描述

ACT_RU_EXECUTION

  • 父流程和子流程的流程实例id是同一个。
  • SEQUENCE_COUNTER_ 序列计数器最小的记录对应的ID_和流程实例ID一样。
  • 父流程实例的ROOT_PROC_INST_ID_有值,PARENT_ID_为null。
    在这里插入图片描述
List<Task> list = taskService.createTaskQuery().processInstanceId("097a8235-b080-11ee-982f-92e97825df95").list();
for (Task task : list) {taskService.complete(task.getId());
}

ACT_RU_TASK:流程来到上传成功节点。
在这里插入图片描述

ACT_RU_EXECUTION:数据变成了一条,活动来到上传成功。
在这里插入图片描述

二:调用流程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-all</artifactId><version>3.0.9</version><type>pom</type>
</dependency>
<dependency><groupId>org.codehaus.groovy.modules.http-builder</groupId><artifactId>http-builder</artifactId><version>0.7.1</version>
</dependency>
repositoryService.createDeployment().name("调用流程").addClasspathResource("bpmn/main_process.bpmn").deploy();
identityService.setAuthenticatedUserId("huihui");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("MainProcess");
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
VariableMap variables = Variables.createVariables().putValue("sourcePath", "xxx.rmvb");
taskService.complete(task.getId(), variables);

ACT_RU_TASK:进入调用的流程。
在这里插入图片描述

ACT_RU_EXECUTION:

  • 调用流程和内嵌子流程完全不一样,调用流程会生成2个不同的流程实例。
  • 两个流程的ROOT_PROC_INST_ID_值一样。
  • 父子流程通过 SUPER_EXEC_ 字段进行关联。
    在这里插入图片描述
List<Task> list = taskService.createTaskQuery().processInstanceId("719d2260-b08b-11ee-8cfc-92e97825df95").list();
for (Task task : list) {taskService.complete(task.getId());
}

在这里插入图片描述
ACT_RU_VARIABLE:Out Mappings中的sourceResult变量赋值成功了。
在这里插入图片描述

这篇关于Camunda Sub Process的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596324

相关文章

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。 文档

【uva】11536-Smallest Sub-Array(区间移动问题)

一个区间移动的问题,1A了,感觉没什么好说的。。 13975926 11536 Smallest Sub-Array Accepted C++ 0.809 2014-08-01 11:00:20 #include<cstdio>#include<cstring>#include<iostream>using namespace std;#define INF 1 << 30

出现 E: Sub-process /usr/bin/dpkg returned an error code (1) 解决方法 (全面分析)

目录 前言1. 问题所示2. 原理分析2.1 第一阶段2.2 第二阶段 3. 解决方法4. 彩蛋4.1 错误不提示,直接卸载4.2 卸载后还是无错误提示 前言 3年前遇到过一个类似的,但是轻松解决,推荐阅读:ubuntu:E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure…解决方法 这回发

【Android studio】 unable to start the daemon process

这几天在做一个安卓桌面项目时,突然发现android studio 不能用了。 提示: 网上的一些方法,要不就是: 1、删除C:\Users\<username>\.gradle 文件夹 2、File Menu - > Invalidate Caches/ Restart->Invalidate and Restart 3、C:\Users\<us

论文《Autoencoders for improving quality of process event logs》翻译

论文《Autoencoders for improving quality of process event logs》翻译 《Autoencoders for improving quality of process event logs》翻译

Thread VS Process

区别如下: 1) Both process and Thread are independent path of execution but one process can have multiple Threads.   2) Every process has its own memory space, executable code and a unique process i

Liver Segmentation in CT based on ResUNet with 3D Probabilistic and Geometric Post Process

一、摘要 本文提出了使用具有3D概率和几何后期处理功能的ResUNet的新型肝分割框架。 我们的语义分割模型ResUNet在U-Net的上采样和下采样部分添加了残差单元和批处理规范化层,以构建更深的网络。 为了快速收敛,我们提出了一种新的损失函数DCE,该函数由Dice损失和交叉熵损失线性组合。 我们使用连续的几个CT图像作为训练和测试的输入,以探索更多的上下文信息。 基于ResUNet的初始分割

Pytorch:Tensor基本运算【add/sub/mul/div:加减乘除】【mm/matmul:矩阵相乘】【Pow/Sqrt/rsqrt:次方】【近似:floor...】【裁剪:clamp】

一、基本运算:加减乘除 1、乘法 1.1 a * b:element-wise 对应元素相乘 a * b:要求两个矩阵维度完全一致,即两个矩阵对应元素相乘,输出的维度也和原矩阵维度相同 1.2 torch.mul(a, b):element-wise 对应元素相乘 torch.mul(a, b):是矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1,

Java 入门指南:Java 并发编程 —— 两万字详解 进程(Process)与线程(Thread)

线程和进程是操作系统中两个重要的概念,用于实现并发执行和多任务处理。 基础概念 进程 进程(Process):进程是计算机中正在运行的程序的实例。它是操作系统分配系统资源的基本单位,包括程序代码、数据、打开的文件、内存空间、进程状态等。 每个进程都有独立的内存空间和资源,彼此之间相互隔离、互不影响。进程之间通常通过进程间通信(IPC)机制进行数据交换和通信。 任一时刻,CPU 总是运行一

python基础-Process创建进程、join方法、实现ftp多进程

进程概念获取进程id并行并发概念Process类的介绍Process类的其他方法join方法利用多进程实现ftp套接字 进程概念 进程即正在执行的一个过程或者说一个任务。进程是对正在运行程序的一个抽象,而负责执行任务则是cpu 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。 进程的概念起源于操作系统,进程的创建,调度管理都归操作系统管 一 操作系统的作用