zoukankan      html  css  js  c++  java
  • Activiti流程定义部署方式

    1 bpmn png方式部署

        
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    /**部署流程定义(从classpath)*/ @Test public void deploymentProcessDefinition_classpath(){ Deployment deployment = processEngine.getRepositoryService()//与流程定义和部署对象相关的Service .createDeployment()//创建一个部署对象 .name("流程定义")//添加部署的名称 .addClasspathResource("diagrams/helloworld.bpmn")//从classpath的资源中加载,一次只能加载一个文件 .addClasspathResource("diagrams/helloworld.png")//从classpath的资源中加载,一次只能加载一个文件 .deploy();//完成部署 System.out.println("部署ID:"+deployment.getId());// System.out.println("部署名称:"+deployment.getName());// }

    2 zip方式部署

        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        
        /**部署流程定义(从zip)*/
        @Test
        public void deploymentProcessDefinition_zip(){
            InputStream in = this.getClass().getClassLoader().getResourceAsStream("diagrams/helloworld.zip");
            ZipInputStream zipInputStream = new ZipInputStream(in);
            Deployment deployment = processEngine.getRepositoryService()//与流程定义和部署对象相关的Service
                            .createDeployment()//创建一个部署对象
                            .name("流程定义")//添加部署的名称
                            .addZipInputStream(zipInputStream)//指定zip格式的文件完成部署
                            .deploy();//完成部署
            System.out.println("部署ID:"+deployment.getId());//
            System.out.println("部署名称:"+deployment.getName());//
        }

    3

     

    通过Classpath的方式加载资源文件来部署流程定义,这种方式始终有局限性,

    实际项目的话,需要使用动态导入流程定义文件,可以通过bpmn和png文件打包成zip压缩包,

    然后用户界面直接导入到系统,然后在解析部署流程定义,Activiti插件是支持这种方式的。

    把bpmn流程文件和png流程图文件打成zip压缩包,将文件上传然后通过zip方式部署

        /**部署流程定义*/
        @Override
        public void saveNewDeploye(File file, String filename) {
            try {
                //2:将File类型的文件转化成ZipInputStream流
                ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(file));
                repositoryService.createDeployment()//创建部署对象
                                .name(filename)//添加部署名称
                                .addZipInputStream(zipInputStream)//
                                .deploy();//完成部署
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
  • 相关阅读:
    loadrunner11 您不具有该 Vuser 类型的许可证. 请与 HP Software 联系以更新许可证.
    LoadRunner安装+汉化+破解
    C# HttpWebRequest和WebClient的区别 通过WebClient/HttpWebRequest实现http的post/get方法
    C# -- 等待异步操作执行完成的方式
    UART中的硬件流控RTS与CTS
    ubuntu12.04 添加程序启动器
    10054错误
    float使用0xFF
    电路笔记
    linux ps 命令查看进程状态
  • 原文地址:https://www.cnblogs.com/miye/p/7306927.html
Copyright © 2011-2022 走看看