classpath路径加载文件
1)先获取流程引擎对象:在创建时会自动加载classpath
下的activiti.cfg.xml
。
2)首先获得默认的流程引擎,通过流程引擎获取了一个RepositoryService
对象(仓库对象)。
3)由仓库的服务对象产生一个部署对象配置对象,用来封装部署操作的相关配置。
4)这是一个链式编程,在部署配置对象中设置显示名,上传流程定义规则文件。
5)向数据库表中存放流程定义的规则信息。
6)这一步在数据库中将操作三张表:
- act_re_deployment(部署对象表)
存放流程定义的显示名和部署时间,每部署一次增加一条记录 - act_re_procdef(流程定义表)
存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录。
注意:当流程定义的key相同的情况下,使用的是版本升级 - act_ge_bytearray(资源文件表)
存储流程定义相关的部署信息。即流程定义文档的存放地。每部署一次就会增加两条记录,一条是关于bpmn规则文件的,一条是图片的(如果部署时只指定了bpmn一个文件,activiti会在部署时解析bpmn文件内容自动生成流程图)。两个文件不是很大,都是以二进制形式存储在数据库中。
zip格式文件
压缩成zip格式的文件,使用zip的输入流用作部署流程定义
其它
Deployment 部署对象
- 一次部署的多个文件的信息。对于不需要的流程可以删除和修改。
- 对应的表:
act_re_deployment:部署对象表
act_re_procdef:流程定义表
act_ge_bytearray:资源文件表
act_ge_property:主键生成策略表
ProcessDefinition 流程定义
- 解析.bpmn后得到的流程定义规则的信息,工作流系统就是按照流程定义的规则执行的。