Activiti7
1、Activiti7数据库支持25张表
所有表以act_
开头。 第二部分是表示表的用途的两个字母标识。 用途和服务的API对应。
act_ge_*
: 通用数据, 用于不同场景下,如存放资源文件。
act_hi_*
: hi 表history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
act_re_*
: re 表repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
act_ru_*
: ru 表runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
表分类 | 表名 | 解释 |
---|---|---|
一般数据 | —— | —— |
2张表 | act_ge_bytearray |
通用的流程定义和流程资源,二进制数据表 |
act_ge_property |
系统相关属性,存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录 | |
流程历史记录 | —— | —— |
8张表 | act_hi_actinst |
历史的流程实例 |
act_hi_attachment |
历史的流程附件 | |
act_hi_comment |
历史的说明性信息 | |
act_hi_detail |
历史的流程运行中的细节信息 | |
act_hi_identitylink |
历史的流程运行过程中用户关系 | |
act_hi_procinst |
历史的流程实例 | |
act_hi_taskinst |
历史的任务实例 | |
act_hi_varinst |
历史的流程运行中的变量信息 | |
流程定义表 | —— | —— |
3张表 | act_re_deployment |
部署单元信息 |
act_re_model |
流程设计模型信息 | |
act_re_procdef |
已部署的流程定义 | |
运行实例表 | —— | —— |
10张表 | act_ru_event_subscr |
运行时事件 |
act_ru_execution |
运行时流程执行实例 | |
act_ru_identitylink |
运行时用户关系信息,存储任务节点与参与者的相关信息 | |
act_ru_job |
运行时作业 | |
act_ru_task |
运行时任务 | |
act_ru_variable |
运行时变量表 | |
act_ru_deadletter_job |
||
act_ru_integration |
||
act_ru_suspended_job |
||
act_ru_timer_job |
||
其他 | —— | —— |
act_evt_log |
||
act_procdef_info |
nullCatalogMeansCurrent=true
jdbc链接配置参数
jdbc:mysql://192.168.168.101:3306/scott?serverTimezone=Hongkong&useSSL=false&nullCatalogMeansCurrent=true
2、Activiti主要类结构
activiti7版本中,IdentityService ,FormService 两个Serivce都已删除。
2.1 由ProcessEngine获取RepositoryService
Activiti资源管理类。提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工具设计的业务流程图需
要使用此service将流程定义文件的内容部署到计算机。
除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。
暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。
获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。
2.2 由ProcessEngine获取RuntimeService
Activiti流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息。
2.3 由ProcessEngine获取TaskService
Activiti任务管理类。可以从这个类中获取任务的信息。
2.4 由ProcessEngine获取HistoryService
Activiti历史管理类。可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时
间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。
2.5 由ProcessEngine获取ManagementService
Activiti引擎管理类。提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,
主要用于 Activiti 系统的日常维护。
3 部署流程模板 RepositoryService 操作到的表
测试: com.michael.test.T02ActivitiDeploy
select * from ACT_GE_PROPERTY; -- update 系统数据
select * from ACT_RE_DEPLOYMENT; -- insert 流程部署表,每部署一次会增加一条记录
select * from ACT_RE_PROCDEF; -- insert 流程定义表
select * from ACT_GE_BYTEARRAY; -- insert 流程资源表
把流程资源文件上传到数据库中,一次部署操作:
ACT_RE_DEPLOYMENT 会生成一条记录;
ACT_RE_PROCDEF 生成流程定义信息;
ACT_RE_DEPLOYMENT:ACT_RE_PROCDEF = 1:多;
4 启动流程实例 RuntimeService 操作到的表
select * from ACT_GE_PROPERTY; -- update 系统数据
select * from ACT_HI_TASKINST; -- insert 流程任务历史信息
select * from ACT_HI_PROCINST; -- insert 流程实例历史信息
select * from ACT_HI_ACTINST; -- insert 流程实例执行历史
select * from ACT_HI_IDENTITYLINK; -- insert 流程的参与用户历史信息
select * from ACT_RU_TASK; -- insert 任务信息
select * from ACT_RU_IDENTITYLINK; -- insert 流程的参与用户信息
select * from ACT_RU_EXECUTION; -- insert 任务信息
4 查询待执行任务 RuntimeService 操作到的表
SELECT DISTINCT
RES.*
FROM
ACT_RU_TASK RES
INNER JOIN ACT_RE_PROCDEF D ON RES.PROC_DEF_ID_ = D.ID_
WHERE
RES.ASSIGNEE_ = 'zhangsan'
AND D.KEY_ = 'myEvection'
ORDER BY
RES.ID_ ASC
LIMIT 2147483647 OFFSET 0
5 完成流程实例中间任务 TaskService 操作到的表
select * from ACT_GE_PROPERTY; -- update 系统数据
select * from ACT_HI_TASKINST; -- insert 流程任务历史信息
select * from ACT_HI_ACTINST; -- insert
select * from ACT_HI_IDENTITYLINK; -- insert
select * from ACT_RU_TASK; -- insert
select * from ACT_RU_IDENTITYLINK; -- insert
select * from ACT_HI_ACTINST; -- update
select * from ACT_RU_EXECUTION; -- update
select * from ACT_HI_TASKINST; -- update
select * from ACT_RU_TASK; -- delete
6 完成流程实例最后一步任务 TaskService 操作到的表
select * from ACT_GE_PROPERTY; -- update 系统数据
select * from ACT_HI_ACTINST; -- insert
select * from ACT_HI_ACTINST; -- update
select * from ACT_RU_EXECUTION; -- update
select * from ACT_RU_EXECUTION; -- update
select * from ACT_HI_PROCINST; -- update
select * from ACT_HI_TASKINST; -- update
select * from ACT_RU_IDENTITYLINK; -- delete
select * from ACT_RU_IDENTITYLINK; -- delete
select * from ACT_RU_IDENTITYLINK; -- delete
select * from ACT_RU_IDENTITYLINK; -- delete
select * from ACT_RU_TASK; -- delete
select * from ACT_RU_EXECUTION; -- delete
select * from ACT_RU_EXECUTION; -- delete
7 删除流程模板 RepositoryService 操作到的表
select * from ACT_GE_BYTEARRAY; -- delete 2
select * from ACT_RE_DEPLOYMENT; -- delete 1
select * from ACT_RU_EVENT_SUBSCR; -- delete 0
select * from ACT_RU_IDENTITYLINK; -- delete 0
select * from ACT_RE_PROCDEF; -- delete 1
附录1 activiti常用组件汇总
Palette
Start event
End event
Task
Container
Gateway
Boundary event
Intermediate event
Artifacts
Connection
Alfresco