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版本中,IdentityServiceFormService 两个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

猜你喜欢

转载自blog.csdn.net/Michael_lcf/article/details/94593689#comments_25842228