总结之Activiti流程引擎使用(一)——数据表与service分析
部署流程定义流程相关
使用的是RepositoryService
classpath路径加载文件
在数据库中将操作三张表:
1、act_re_deployment(部署对象表)
存放流程定义的显示名和部署时间,每部署一次增加一条记录
2、act_re_procdef(流程定义表)
存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录。
注意:当流程定义的key相同的情况下,使用的是版本升级
3、act_ge_bytearray(资源文件表)
存储流程定义相关的部署信息。即流程定义文档的存放地。每部署一次就会增加两条记录,一条是关于bpmn规则文件的,一条是图片的(如果部署时只指定了bpmn一个文件,activiti会在部署时解析bpmn文件内容自动生成流程图)。两个文件不是很大,都是以二进制形式存储在数据库中。
zip格式文件部署流程定义
查看流程定义
流程定义和部署对象相关的Service都是RepositoryService
流程实例、任务的执行
部署流程定义
启动流程实例
查询个人任务
办理任务
查询流程状态
查询历史任务
Execution 执行对象
按流程定义的规则执行一次的过程.
对应的表:
act_ru_execution: 正在执行的信息
act_hi_procinst:已经执行完的历史流程实例信息
act_hi_actinst:存放历史所有完成的活动
ProcessInstance 流程实例
特指流程从开始到结束的那个最大的执行分支,一个执行的流程中,流程实例只有1个。
注意
(1)如果是单例流程,执行对象ID就是流程实例ID
(2)如果一个流程有分支和聚合,那么执行对象ID和流程实例ID就不相同
(3)一个流程中,流程实例只有1个,执行对象可以存在多个。
Task 任务
执行到某任务环节时生成的任务信息。
对应的表:
act_ru_task:正在执行的任务信息
act_hi_taskinst:已经执行完的历史任务信息
流程变量
作用:1、用于传递业务参数
2、指定连线完成任务(同意、拒绝、退回)
3、动态指定任务的办理人
设置流程变量
设置流程变量的时候,向act_ru_variable这个表添加数据