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 流程部署的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程