Activiti7 zip部署,查询及其删除
zip部署
package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Deployment; import java.io.IOException; import java.io.InputStream; import java.util.zip.ZipInputStream; /** * 使用ZIP压缩包部署 */ public class ActivitiZipDeployment { public static void main(String[] args) throws IOException { ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine(); RepositoryService repositoryService = defaultProcessEngine.getRepositoryService(); InputStream resourceAsStream = ActivitiZipDeployment.class.getClassLoader().getResourceAsStream("pic.zip"); ZipInputStream zipInputStream = new ZipInputStream(resourceAsStream); Deployment deploy = repositoryService.createDeployment().addZipInputStream(zipInputStream).name("请假申请流程").deploy(); zipInputStream.close(); resourceAsStream.close(); System.out.println("流程部署ID:" + deploy.getId()); System.out.println("流程部署名称:" + deploy.getName()); } }
查询
/** * 查询流程定义 */ @Test public void queryProceccDefinition() { // 定义流程KEY String processDefinitionKey = "holiday"; // 获取RepositoryService RepositoryService repositoryService = defaultProcessEngine.getRepositoryService(); // 创建流程定义查询 ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); // 查询返回列表 List<ProcessDefinition> list = processDefinitionQuery.processDefinitionKey(processDefinitionKey).orderByProcessDefinitionVersion().desc().list(); // 打印输出 list.forEach(processDefinition -> { System.out.println("流程部署ID:" + processDefinition.getDeploymentId()); System.out.println("流程定义ID:" + processDefinition.getId()); System.out.println("流程定义名称:" + processDefinition.getName()); System.out.println("流程定义key:" + processDefinition.getKey()); System.out.println("流程定义版本:" + processDefinition.getVersion()); }); }
删除
@Test public void deleteDeployment(){ RepositoryService repositoryService = defaultProcessEngine.getRepositoryService(); // 部署流程ID String deploymentId = "1"; // 删除流程定义,如果该流程定义已有流程实例启动则删除报错 // repositoryService.deleteDeployment(deploymentId); // 设置true 级联删除流程定义,即使该流程有流程实例启动也可以删除,设置为false非级别删除方式,如果流程 repositoryService.deleteDeployment(deploymentId, true); }
作者:彼岸舞
时间:2020\08\31
内容关于:Activiti工作流
本文来源于网络,只做技术分享,一概不负任何责任
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」