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工作流

本文来源于网络,只做技术分享,一概不负任何责任

posted @   彼岸舞  阅读(412)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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 热点速览」
点击右上角即可分享
微信分享提示