activiti7__01Deployment类

使用流程

指定流程key
指定流程名称
任务指定执行人
上传bpmn,上传bpmn和图片,上传zip
增删改查
查询列表和查询xml

基本业务代码的实现

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.List;
import java.util.zip.ZipInputStream;

@SpringBootTest
public class Test01Deployment {

    @Autowired
    private RepositoryService repositoryService;

    /**
     * 使用文件直接发布流程
     */
    @Test
    public void getInfo111() {
        String fileName = "BPMN/part01Deployment.bpmn";
        String pngName = "BPMN/part01Deployment.png";
        //流程发布的时候可以携带bpmn文件+缩略图
        Deployment deployment = repositoryService.createDeployment()
                .addClasspathResource(fileName)
                .addClasspathResource(pngName)
                .name("流程发布定义BPMN")
                .deploy();
        System.out.println(deployment.getName());
    }

    /**
     * 使用压缩的方式发布流程
     */
    @Test
    public void getInfo222() {
        String path = "BPMN/BPMN_V2.zip";
        InputStream inputStream = this.getClass().getClassLoader()
                .getResourceAsStream(path);
        // 使用压缩包来发布流程图 流程图会被解压为bpmn文件 png文件
        ZipInputStream zipInputStream = new ZipInputStream(inputStream);
        Deployment deployment = repositoryService.createDeployment()
                .addZipInputStream(zipInputStream)
                .name("流程发布定义BPMNV2")
                .deploy();
        System.out.println(deployment.getName());

    }

    /**
     * 查看发布过的流程
     *
     */
    @Test
    public void getInfo333(){
        List<Deployment> deployments = repositoryService.createDeploymentQuery().list();
        for (int i = 0; i <deployments.size() ; i++) {
            Deployment d = deployments.get(i);
            System.out.println(d.getKey());
            System.out.println(d.getName());
            System.out.println(d.getCategory());
            System.out.println(d.getDeploymentTime());
            System.out.println(d.getId());
        }
    }

}


上一篇:Activiti7源码分析


下一篇:Activiti7精讲&Java通用型工作流开发实战