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启动的都是最新的流程.

  • 相关阅读:
    JavaScript中的数据类型转换
    JavaScript中的变量
    set_uid set_gid stick_bit 软硬链接
    chmod、chown、umask、lsattr/chattr
    环境变量、cp、mv、cat 等命令
    相对和绝对路径 mkdir cd rm 等命令
    linux 系统 目录,以部分及相关命令
    单用户模式 和救援模式 、以及相互登陆(免密)
    putty 、xshell的使用 和 putty 、xshell、 shell 间免密登陆
    vmware NAT 网络出现问题的解决方法
  • 原文地址:https://www.cnblogs.com/trekxu/p/9601032.html
Copyright © 2011-2022 走看看