首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Activiti7 zip部署,查询及其删除

zip部署部署流程

代码语言:javascript
复制
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());

    }

}

查询部署的流程

代码语言:javascript
复制
/**
     * 查询流程定义
     */
    @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());
        });
    }

删除部署的流程

代码语言:javascript
复制
@Test
    public void deleteDeployment(){
        RepositoryService repositoryService = defaultProcessEngine.getRepositoryService();
        // 部署流程ID
        String deploymentId = "1";
        // 删除流程定义,如果该流程定义已有流程实例启动则删除报错
//        repositoryService.deleteDeployment(deploymentId);
        // 设置true 级联删除流程定义,即使该流程有流程实例启动也可以删除,设置为false非级别删除方式,如果流程
        repositoryService.deleteDeployment(deploymentId, true);

    }

到此ZIP部署工作流完成

作者:彼岸舞

时间:2020\08\31

内容关于:Activiti工作流

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

下一篇
举报
领券