zoukankan      html  css  js  c++  java
  • 003 流程部署

    一 .概述

      在前面,我们画出了基本的流程图,如果我们想要使用这个流程图锁代表的流程,首先我们就需要对这个流程进行部署.


     二 .流程部署  

    ProcessEngines.getDefaultProcessEngine()
                .getRepositoryService().createDeployment()
                    .name("leave")
                        .addClasspathResource("diagram/leave.bpmn")
                            .addClasspathResource("diagram/leave.png")
                            .deploy();

    在上面的代码之中,我们首先获取到了流程部署对象,然后我们就可以尽心个流程的部署了.

      在部署的时候,我们制定流程的名字,然后加载两个资源文件,最后调用deploy()方法就完成了流程的部署了.

    在部署完之后,我们看一下对activiti中表的改变.

    首先会在act_re_deployment这个表中增加一条记录.我们可以看到流程部署的名字和时间.

    另外一个就是流程部署的文件信息,全部都会存储在act_ge_bytearray表之中.

    我们可以看到对应的两个文件的信息.

    然后,activiti会对我们的流程部署生成一个流程定义记录.

    在这里我们能看到我们的流程的key,最重要的是我们可以看到一个版本号.

      当我们再此部署的时候,只要名称是一致的,就会升级版本号.


     三 . 使用zip部署流程

      在我们的web环境下,我们可以使用文件上传的方式进行流程的部署. 

        @Test
        public void test2() throws FileNotFoundException{
            // 现在我们使用zip的方式,将流程图和流程定义文件一起打包为zip文件
            ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream("C:\Users\trek\Desktop\leave.zip"));
            ProcessEngines.getDefaultProcessEngine()
                .getRepositoryService()
                    .createDeployment()
                        .name("leave")
                            .addZipInputStream(zipInputStream)
                                .deploy();
        }

    我们将bomn文件和png文件打包称为一个zip文件,然后使用上面的方式就可以重新部署一个新的流程.

      在运行了上述的文件之后,我们看一下我们上面提到的版本号.

    我们看到,流程的版本号升级了.以后,我们直接使用流程的key启动的都是最新的流程.

  • 相关阅读:
    XOR linked list
    Doubly Linked List&DLL(双向链表)
    circular linked list&CLL(循环链表)
    Linked list(单链表)
    malloc() & free()
    Mysql 1045
    DoublePointer (**)
    java.sql.SQLException: Operation not allowed after ResultSet closed
    Array
    java-方法
  • 原文地址:https://www.cnblogs.com/trekxu/p/9601032.html
Copyright © 2011-2022 走看看