• Activiti:流程定义部署管理


    概要

    通过流程定义模型,进行部署流程定义,部署后会生成流程定义数据(相当于java类),此时生成的流程定义数据 主要用于生成流程实例(相当于java对象),一个流程定义 Java 类对应的可以创建无数个 java 流程实例对象。

    通过 .zip 压缩包 部署 流程定义

        @Autowired
        private RepositoryService repositoryService;
    
        @Test
        public void deployByZip() throws Exception {
            File file = new File("D:/leave.zip");
            String filename = file.getName();
            // 压缩包输入流
            ZipInputStream zipis = new ZipInputStream(new FileInputStream(file));
            // 创建部署实例
            DeploymentBuilder deployment = repositoryService.createDeployment();
            // 添加zip流
            deployment.addZipInputStream(zipis);
            // 部署名称
            deployment.name(filename.substring(0, filename.indexOf(".")));
            // 执行部署流程定义
            deployment.deploy();
    
        }
    

    部署流程定义涉及表:

    • ACT_RE_PROCDEF 新增数据: 流程定义数据
    • ACT_RE_DEPLOYMENT 新增数据: 流程部署数据
    • ACT_GE_BYTEARRAY 新增数据:将当前流程图绑定到此流程定义部署数据上
    • ACT_RE_MODEL 更新部署id

    通过 .bpmn 或 .bpmn.xml 文件 部署 流程定义

        @Test
        public void deployByBpmnFile() throws Exception {
            // .bpmn 文件
            File file = new File("d:/leave.bpmn20.xml");
            // .bpmn20.xml 文件
            //File file = new File("D:/请假流程模型.bpmn20.xml");
            String filename = file.getName();
            // 输入流
            FileInputStream input = new FileInputStream(file);
            // 创建部署实例
            DeploymentBuilder deployment = repositoryService.createDeployment();
            // bpmn20.xml 或 .bpmn (activiti5.10版本以上支持)
            deployment.addInputStream(filename, input);
            // 执行流程定义部署
            deployment.deploy();
        }
    

    删除流程定义部署信息

        @Test
        public void delete() {
            // 部署ID
            String deploymentId = "aae0eb2b-cc11-11ec-ada5-28d0ea3dce6b";
            // 不带级联的删除:如果有正在执行的流程,则删除失败抛出异常;不会删除 ACT_HI_和 历史表数据
            repositoryService.deleteDeployment(deploymentId);
            // 级联删除:不管流程是否启动,都能可以删除;并删除历史表数据。
            //repositoryService.deleteDeployment(deploymentId, true);
        }
    
  • 相关阅读:
    排序入门练习题3 谁考了第k名 题解
    排序入门练习题2 从大到小排序 题解
    排序入门练习题1 排序 题解
    关于这个博客
    Count Good Substrings
    Long Long Message
    Milk Patterns
    Musical Theme
    Life Forms
    New Distinct Substrings
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/16223508.html
Copyright © 2020-2023  润新知