Activiti7经典类

4-4 流程部署Deployment - 图1

Deployment类

image.png
image.png

上传bpmn文件,并部署

image.png

  1. package com.torey.activiti7_workflow;
  2. import org.activiti.engine.RepositoryService;
  3. import org.activiti.engine.repository.Deployment;
  4. import org.junit.jupiter.api.Test;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.boot.test.context.SpringBootTest;
  7. @SpringBootTest
  8. public class Part1_Deployment {
  9. @Autowired
  10. private RepositoryService repositoryService;
  11. /**
  12. * 部署bpmn文件
  13. */
  14. @Test
  15. public void initDeploymentBPMN(){
  16. String filename="BPMN/Part1_Deployment.bpmn";
  17. //String pngname="BPMN/Part1_Deployment.png";
  18. //Deployment
  19. Deployment deploy = repositoryService.createDeployment()
  20. .addClasspathResource(filename)
  21. // .addClasspathResource(pngname)//还可以部署图片,对于7不需要上传图片
  22. .name("流程部署测试BPMN").deploy();
  23. System.out.println(deploy.getName());
  24. }
  25. }

查询数据库会有数据

select * from act_re_deployment;
select * from act_ge_bytearray;

上传zip文件并部署

package com.torey.activiti7_workflow;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.InputStream;
import java.util.zip.ZipInputStream;

@SpringBootTest
public class Part1_Deployment {
    @Autowired
    private RepositoryService repositoryService;
    /**
     * 部署zip文件
     */
    @Test
    public void initDeploymentZIP(){
        InputStream resourceAsStream = this.getClass().getClassLoader()
                .getResourceAsStream("BPMN/Part1_Deployment-v2.zip");
        ZipInputStream zipInputStream = new ZipInputStream(resourceAsStream);
        Deployment deploy = repositoryService.createDeployment()
                .addZipInputStream(zipInputStream)
                // .addClasspathResource(pngname)//还可以部署图片,对于7不需要上传图片
                .name("流程部署测试zip").deploy();
        System.out.println(deploy.getName());
    }
   }

查询部署文件

package com.torey.activiti7_workflow;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.InputStream;
import java.util.List;
import java.util.zip.ZipInputStream;

@SpringBootTest
public class Part1_Deployment {
    @Autowired
    private RepositoryService repositoryService;

    /**
     * 查询部署文件
     */
    @Test
    public void getDeployments(){
        List<Deployment> list =
                repositoryService.createDeploymentQuery().list();
        for (Deployment deployment : list) {
            System.out.println(ToStringBuilder.reflectionToString(deployment, ToStringStyle.JSON_STYLE));
            System.out.println(deployment.getId());
            System.out.println(deployment.getName());
            System.out.println(deployment.getKey());
        }
    }
}
package com.torey.activiti7_workflow;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.InputStream;
import java.util.List;
import java.util.zip.ZipInputStream;

/**
 * 流程部署
 * 流程部署与流程定义 可以说是一起的,一对一的
 */
@SpringBootTest
public class Part1_Deployment {
    @Autowired
    private RepositoryService repositoryService;

    /**
     * 查询部署文件
     */
    @Test
    public void getDeployments(){
        List<Deployment> list =
                repositoryService.createDeploymentQuery().list();
        for (Deployment deployment : list) {
            System.out.println(ToStringBuilder.reflectionToString(deployment, ToStringStyle.JSON_STYLE));
            System.out.println(deployment.getId());
            System.out.println(deployment.getName());
            System.out.println(deployment.getKey());
        }
    }
    /**
     * 通过zip文件部署流程
     */
    @Test
    public void initDeploymentZIP(){
        InputStream resourceAsStream = this.getClass().getClassLoader()
                .getResourceAsStream("BPMN/Part1_Deployment-v2.zip");
        ZipInputStream zipInputStream = new ZipInputStream(resourceAsStream);
        Deployment deploy = repositoryService.createDeployment()
                .addZipInputStream(zipInputStream)
                // .addClasspathResource(pngname)//还可以部署图片,对于7不需要上传图片
                .name("流程部署测试zip").deploy();
        System.out.println(deploy.getName());
    }
    /**
     * 通过BPMN部署流程
     */
    @Test
    public void initDeploymentBPMN(){
        String filename="BPMN/Part1_Deployment.bpmn";
        //String pngname="BPMN/Part1_Deployment.png";
        //Deployment
        Deployment deploy = repositoryService.createDeployment()
                .addClasspathResource(filename)
               // .addClasspathResource(pngname)//还可以部署图片,对于7不需要上传图片
                .name("流程部署测试BPMN").deploy();
        System.out.println(deploy.getName());
    }
}