004 流程部署

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了004 流程部署相关的知识,希望对你有一定的参考价值。

一 . 概述

  本节,我们主要说明两个方面的问题

  [1]简单的绘制一个流程图

  [2] 部署这个流程图


 二 .流程图的绘制

  我们首先在eclipse之中增加一个activiti的插件,这个在各个网站上都有说明.

  我们现在展示一下最终的流程图.

技术分享图片

在上面的流程图之中,我们定义了一个简单的流程,有一个起始节点和一个结束的节点.

  流程运行的时候会经过三个任务.

[1]张三提交申请

[2]李四进行组长审批

[3]王五进行经理审批


 三 .流程部署

  技术分享图片

在流程部署之前,我们首先看一下act_ge_property表.

  这个表主要用来存储通用的属性的,我们可以发现这是一个基本的键值对象的形式进行存储的,最后一个字段表示版本号.每当一个key被覆盖的时候,版本号就会加一.

  我们首先说明一下第一个键值对的含义 : 这个标示activiti自己维护的id,则样activiti就有了一个自己的主键生成的基础.

  后面的两个键值对,用来保证数据库和我们的jar文件的同步.

现在我们首先说明一下流程部署的含义 : 

  流程部署就是将我们定义的流程加入到activiti之中,这个流程图就会作为我们以后工作流驱动的基础.

我们首先看下面的部署代码 :  

    @Test
    public void deploy(){
        ProcessEngines.getDefaultProcessEngine()
            .getRepositoryService().createDeployment()
                .name("leave")
                    .addClasspathResource("diagram/leave.bpmn")
                        .addClasspathResource("diagram/leave.png")
                        .deploy();
    }

上面的代码比较简单,下面说明一下.

 [1]创建流程引擎

 [2] 获取RepositoryService服务对象

   [3]配置信息进行部署

在这里,我们制定加载了我们的流程图和流程的xml文件,最后我们调用了deploy()方法进行了流程的部署.

  下面,我们看看这个部署到底对表早成了什么影响.

[1]act_re_deployment : 这个表就是用来维护流程部署信息的表.

  技术分享图片

我们从表中的数据可以得到:

(1)id:表示本次流程部署的id

(2)name就是我们部署时指定的name的值

(3)最后有一个部署的时间.

[2]act_re_prodef: 这个 表示的就是流程定义的信息  技术分享图片

这个表描述了我们的流程之中xml文件表示的内容.

  其中,我们需要注意的就是key_这个字段,这个字段表示的是我们流程图整体的id.

  当我们流程进行了改变的时候,我们只要指定相同的key,就可以覆盖之前的流程.

[3]act_re_bytearray : 存储我们的流程的资源信息

  技术分享图片

这个表之中就存储了我们使用的流程图的资源.

我们下面就看看act_ge_property

技术分享图片

我们发现,现在的activit的id发生了变化,也就说明activiti通过这个表维护自己的id生成策略.

 

以上是关于004 流程部署的主要内容,如果未能解决你的问题,请参考以下文章

ncnn源码分析-004-代码流程总结

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

OpenGL - 004通过简单案例介绍绘制渲染流程

004.etcd集群部署-发现