工作流JBPM操作API删除流程部署流程

news2024/9/24 7:19:29

文章目录

      • 8.3 删除流程定义
        • 8.3.1 按照id删除(有关联信息会抛异常)
        • 8.3.2 按照id删除(会删除关联信息)
        • 8.3.3 按照key删除
      • 8.4 获取部署时的文件资源
        • 8.4.1 获取部署时的文件资源方式1
        • 8.4.2 获取部署时的文件资源方式2


在这里插入图片描述

8.3 删除流程定义

删除流程定义可以按照id和key删除。

8.3.1 按照id删除(有关联信息会抛异常)
// 删除流程定义  
@Test
public void deleteById(){
   String deploymentId = "1500001";
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  有关联信息,抛异常
   processEngine.getRepositoryService().deleteDeployment(deploymentId);   
}

上述这种删除方法,如果该流程id对应的流程有关联信息,将会抛异常。

8.3.2 按照id删除(会删除关联信息)
// 删除流程定义  
@Test
public void deleteById(){
   String deploymentId = "1500001";
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  有关联信息,会级联删除
  processEngine.getRepositoryService().deleteDeploymentCascade(deploymentId);  
}

上述这种删除方法,如果该流程id对应的流程有关联信息,会级联删除!

8.3.3 按照key删除
//  删除流程定义  按照key
@Test
public void deleteByKey(){
   String key = "b";
   List<ProcessDefinition> list = processEngine.getRepositoryService()
     .createProcessDefinitionQuery()
     .processDefinitionKey(key)
     .list();
   //  遍历  删除
   if( list != null && list.size() > 0){
     for(ProcessDefinition processDefinition : list){
       System.out.println(processDefinition.getId());
   ProcessEngine processEngine = Configuration.getProcessEngine();              processEngine.getRepositoryService().
     deleteDeploymentCascade(processDefinition.getDeploymentId());
     }
   }
}

该方式会将该key下的所有实例删除。

8.4 获取部署时的文件资源

8.4.1 获取部署时的文件资源方式1

该方式要指定jbpm4_deployment表 DBID 和 jbpm4_lob 表中deplotmentId对应的name_的值

// 获取部署时的文件资源(查看流程图)

@Test  
public void get() throws Exception{
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  jbpm4_deployment表 DBID
   String deplotmentId = "1510001";   
   //  jbpm4_lob 表中deplotmentId对应的name_的值
   String resourceName = "test.png";  
   //  获取所有资源名称
   Set<String> names = processEngine.getRepositoryService().getResourceNames(deplotmentId);
   for(String name : names){
     System.out.println(name);
   }

   InputStream in = processEngine.getRepositoryService().getResourceAsStream(deplotmentId, resourceName);

   //  输出到本地文件 (路径自己指定,但要注意路径中包含的文件夹都存在)
   OutputStream outputStream = new FileOutputStream("d:/photoAlbum/process-" + deplotmentId +".png");
   for(int b = -1;(b = in.read()) != -1;){
     outputStream.write(b);
   }
   in.close();
   outputStream.close();
}

执行上述代码,会在我们指定的路径下得到如下图片:就是我们部署时候的流程图。

在这里插入图片描述

8.4.2 获取部署时的文件资源方式2

该方式要指定 jbpm4_execution 表中的 PROCDEFID 字段。

@Test  //  得到图片资源2
public void get2() throws IOException{
   //  jbpm4_execution 表中的 PROCDEFID
   String processDefinitionId = "test-2";
   ProcessDefinition processDefinition = processEngine.getRepositoryService()
     .createProcessDefinitionQuery()
     .processDefinitionId(processDefinitionId)
     .uniqueResult();

   InputStream in = processEngine.getRepositoryService().getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getImageResourceName());
   //    输出到本地文件
   OutputStream outputStream = new FileOutputStream("d:/photoAlbum/process/deplotmentImg/" + processDefinitionId + ".png");
   for(int b = -1;(b = in.read()) != -1;){
     outputStream.write(b);
   }
   in.close();
   outputStream.close();
}

执行上述代码,会在我们指定的路径下得到如下图片:就是我们部署时候的流程图。

在这里插入图片描述




在这里插入图片描述



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

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

相关文章

#LLM入门|RAG#3.5_基于文档的问答

大语言模型&#xff08;LLM&#xff09;构建的问答系统&#xff0c;通过整合用户文档&#xff0c;提供个性化和专业化回答。系统可检索内部文档或产品说明书&#xff0c;结合语言模型生成精准答案。 这种方法让语言模型利用外部文档专业信息&#xff0c;显著提升回答的质量和适…

计算机系统基础知识总结

一、计算机系统概述 计算系统可以分为硬件和软件两部分。硬件主要有中央处理器、存储器、输入和输出设备组成&#xff1b;软件由系统软件和应用软件组成。 冯诺依曼计算机体系&#xff1a;将硬件划分为&#xff1a;输入、输出、运算器、存储器、控制器五部分。 中央处理器&…

【计算机毕业设计】学习平台功能介绍——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

工作流JBPM操作API办理任务流程变量

文章目录 8.7 办理任务8.7.1 办理个人任务8.7.2 办理个人组任务 8.8 驳回任务8.9 流程变量8.9.2 设置流程变量8.9.3 获取流程变量 8.7 办理任务 8.7.1 办理个人任务 办理前数据表中&#xff1a; 办理任务&#xff1a; // 办理个人任务 Test public void comPeletePersonTas…

荣誉 | 人大金仓获评轨交行业“智慧运维优秀应用案例”

4月12日至13日&#xff0c;2024&#xff08;第八届&#xff09;中国城市轨道交通智慧运维大会在成都顺利举行。会上&#xff0c;人大金仓以其在轨交行业的卓越贡献和创新实践&#xff0c;获评“智慧运维优秀应用案例”。公司副总裁梁红凤出席大会并发表了题为“打造世界一流的数…

K8s: 关于Kubernetes中的Pod的创建,实现原理,Job调度pod以及pod网络

Pod 概述 Pod 是最小部署的单元&#xff0c;Pod里面是由一个或多个容器组成&#xff0c;也就是一组容器的集合一个pod中的容器是共享网络命名空间&#xff0c;每个Pod包含一个或多个紧密相关的用户业务容器Pod 是 k8s 系统中可以创建和管理的最小单元是资源对象模型中由用户创…

[开发日志系列]PDF图书在线系统20240415

20240414 Step1: 创建基础vueelment项目框架[耗时: 1h25min(8:45-10:10)] 检查node > 升级至最新 (考虑到时间问题,没有使用npm命令行执行,而是觉得删除重新下载最新版本) > > 配置vue3框架 ​ 取名:Online PDF Book System 遇到的报错: 第一报错: npm ERR! …

Visual Studio调试C/C++指南

1. 前言 Visual Studio&#xff08;VS&#xff09;是微软开发的一款集成开发环境(IDE)软件&#xff0c;支持C/C、C#、VB、Python等开发语言&#xff0c;开发桌面、Web等应用程序。VS功能极其强大&#xff0c;使用极其便利&#xff0c;用户数量最多&#xff0c;被誉为"宇宙…

Python进阶编程 --- 3.闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

文章目录 第三章&#xff1a;3.1 闭包3.2 装饰器语法糖写法 3.3 设计模式3.3.1 单例模式3.3.2 工厂模式 3.4 多线程3.4.1 进程、线程和并行执行3.4.2 多线程编程 3.5 网络编程3.5.1 Socket3.5.2 服务端开发3.5.3 客户端开发 3.6 正则表达式3.6.1 基础匹配3.6.2 元字符匹配单字符…

DevOps(八)Jenkins的Maven和Git插件

一、Maven简介 Maven是一个构建生命周期管理和理解工具&#xff0c;用于Java项目。它提供了标准化的构建流程&#xff0c;并简化了从项目编译到文档生成等各种构建方面的管理。 Maven是由Apache软件基金会开发和维护的一个流行的项目管理工具。它的设计目的是简化Java项目的构…

基于深度学习的光场超分辨率算法综述

摘要&#xff1a;光场图像分辨率低的原因之一是光场空间分辨率和角度分辨率之间存在相互制约。光场超分辨率技术旨在从低分辨率光场图像中重建出高分辨率光场图像。基于深度学习的光场超分辨率方法通过学习高、低分辨率光场图像之间的映射关系来提升图像的质量&#xff0c;突破…

三级等保安全解决方案——实施方案

实施方案设计 本方案将依照国家有关信息安全建设的一系列法规和政策&#xff0c;为电台建立体系完整、安全功能强健、系统性能优良的网络安全系统。以“统一规划、重点明确、合理建设、逐步强化”为基本指导原则。根据电台网络系统不同信息的重要性调整保护策略&#xff0c;不欠…

OpenHarmony网络组件-Mars

项目简介 Mars 是一个跨平台的网络组件&#xff0c;包括主要用于网络请求中的长连接&#xff0c;短连接&#xff0c;是基于 socket 层的解决方案&#xff0c;在网络调优方面有更好的可控性&#xff0c;暂不支持HTTP协议。 Mars 极大的方便了开发者的开发效率。 效果演示 编译…

【数学】推荐一种用尺规绘制正五边形,简单而又精确的作法

【说明】 正五边形的尺规作图方法很多&#xff0c;但大多比较繁琐&#xff0c;下面介绍一种作法&#xff0c;这种方法步骤少&#xff0c;简便易行。 【具体步骤】 1.作相互垂直的两条直线&#xff0c;交点为O&#xff1b; 2.以O为圆心作圆&#xff0c;交横线与AB两点&#…

死磕GMSSL通信-C/C++系列(一)

死磕GMSSL通信-C/C++系列(一) 最近再做国密通信的项目开发,以为国密也就简单的集成一个库就可以完事了,没想到能有这么多坑。遂写下文章,避免重复踩坑。以下国密通信的坑有以下场景 1、使用GMSSL guanzhi/GmSSL进行通信 2、使用加密套件SM2-WITH-SMS4-SM3 使用心得 ​…

团体程序设计天梯赛 往年关键真题 详细分析完整AC代码】L2-014 列车调度 STL L2-015 互评成绩 排序

【团体程序设计天梯赛 往年关键真题 详细分析&完整AC代码】搞懂了赛场上拿下就稳 【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析&完整AC代码】&#xff08;L2-001 - L2-024&#xff09;搞懂了赛场上拿下就稳了 【团体程序设计天梯赛 往年关键真题 25分题合…

数据库--Sqlite3

1、思维导图 2sqlite3在linux中是实现数据的增删&#xff0c;改 #include<myhead.h> int main(int argc, const char *argv[]) { //1、定义一个数据库句柄指针 sqlite3* ppDb NULL; //2、创建或打开数据库 if(sqlite3_open("./mydb…

【OpenGL实践08】现代渲染管线在GLUT和Pygame和Qt.QOpenGLWidget上各自的实现代码

Qt.QOpenGLWidget进行现代渲染管线实验效果 一、说明 据说QOpenGLWidget是用来取代QGLWidget的继承者&#xff0c;我们试图将GLUT上的旧代码改成QOpenGLWidget&#xff0c;本以为差别不大&#xff0c;轻易搞定&#xff0c;经实践发现要付出极大努力才能完成。经多次实验发现G…

对比实验系列:Efficientdet环境配置及训练个人数据集

一、源码下载 可以通过下方链接下载Efficientdet源码 GitHub - zylo117/Yet-Another-EfficientDet-Pytorch: The pytorch re-implement of the official efficientdet with SOTA performance in real time and pretrained weights.The pytorch re-implement of the official …

【3GPP】【核心网】【LTE】史上最全 闲时被叫CSFB 深度分析

3.2 闲时被叫CSFB 3.2.1 闲时被叫CSFB基本流程 被叫CSFB消息附近通常有一条Paging寻呼&#xff0c;然后进行CSFB流程&#xff1a; &#xff08;1&#xff09;UE向MME发起拓展服务请求&#xff0c;同时上报TMSI和承载状态&#xff0c;该条消息的服务类型字段中会区分主/被叫&a…