activiti6.0数据库介绍
Acitiviti6.0数据库中一共有28张表,表的命名都是以ACT_开头的。第二部分是一个两个字符用例表的标识。
数据库描述
-
ACT_GE_*
- 通用数据表
- GE代表General;普通数据,各种情况都使用的数据。
-
ACT_RE_*
- 流程定义存储表
- RE代表Repository;包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
-
ACT_RU_*
- 运行时记录表
- RU代表Runtime;这些表存储运行时信息,例如流程实例(process instance)、用户任务(user task)、变量(variable)、作业(job)等。activiti只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。这是为了保证运行时表尽量的小并运行的足够快。
-
ACT_ID_*
- 身份信息表
- ID 代表 Identity;这些表包含身份信息,例如用户、组等。
-
ACT_HI_*
- 历史数据表
- HI代表 history;这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。Activit默认提供了4种历史级别:
- none: 不保存任何历史记录,可以提高系统性能;
- activity:保存所有的流程实例、任务、活动信息;
- audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;
-
full:最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full。
表数据清单
表分类 | 表名 | 表说明 |
事件日志 | ACT_EVT_LOG | 记录事件日志数据 |
流程定义更新信息 | ACT_PROCDEF_INFO | 流程定义更新信息 |
通用表 | ACT_GE_BYTEARRAY | 用来保存流程引擎相关资源 |
ACT_GE_PROPERTY | 系统相关属性 | |
流程历史记录 | ACT_HI_ACTINST | 历史的流程实例 |
ACT_HI_ATTACHMENT | 历史的流程附件 | |
ACT_HI_COMMENT | 历史的说明性信息(审批意见) | |
ACT_HI_DETAIL | 历史的流程运行中的细节信息 | |
ACT_HI_IDENTITYLINK | 历史的流程运行过程中用户关系(人员表) | |
ACT_HI_PROCINST | 历史的流程实例 | |
ACT_HI_TASKINST | 历史的任务实例 | |
ACT_HI_VARINST | 历史的流程运行中的变量信息 | |
用户用户组表 | ACT_ID_GROUP | 身份信息-组信息 |
ACT_ID_INFO | 用户扩展信息表 | |
ACT_ID_MEMBERSHIP | 身份信息-用户和组关系的中间表 | |
ACT_ID_USER | 用户信息 | |
流程定义表 | ACT_RE_DEPLOYMENT | 部署单元信息 |
ACT_RE_MODEL | 模型信息 | |
ACT_RE_PROCDEF | 已部署的流程定义 | |
ACT_RU_DEADLETTER_JOB | 无法执行的工作表 | |
ACT_RU_EVENT_SUBSCR | 运行时事件表 | |
ACT_RU_EXECUTION | 运行时流程执行实例 | |
ACT_RU_IDENTITYLINK | 流程与身份的关联表 | |
ACT_RU_JOB | 运行时作业表(定时任务) | |
ACT_RU_SUSPENDED_JOB | 流程暂停表 | |
ACT_RU_TASK | 运行时任务表 | |
ACT_RU_TIMER_JOB | 定时器表 | |
ACT_RU_VARIABLE | 运行时流程参数表 |
数据表详细介绍
-
记录事件日志表(ACT_EVT_LOG)
- 事件日志、默认不开启
- 从Activiti 5.16开始,引入了(试验性)的事件记录机制。记录机制基于Activiti引擎的事件机制的一般用途,并默认禁用。其思想是,来源于引擎的事件会被捕获,并创建一个包含了所有事件数据(甚至更多)的映射,提供给org.activiti.engine.impl.event.logger.EventFlusher,由它将这些数据刷入其他地方。默认情况下,使用简单的基于数据库的事件处理/刷入,会使用Jackson将上述映射序列化为JSON,并将其作为EventLogEntryEntity接口存入数据库。如果不使用事件记录,可以删除这个表。
- 配置启用事件日志
- processEngineConfiguration.setEnableDatabaseEventLogging(true);
- 运行时启用事件日志
- databaseEventLogger = new EventLogger(processEngineConfiguration.getClock());
- runtimeService.addEventListener(databaseEventLogger);
- 可以扩展EventLogger类。如果默认的数据库记录不符合要求,需要覆盖createEventFlusher()方法返回一个org.activiti.engine.impl.event.logger.EventFlusher接口的实例。可以通过Activiti的managementService.getEventLogEntries(startLogNr, size)?获取EventLogEntryEntity实例。容易看出这个表中的数据可以通过JSON放入大数据NoSQL存储,例如MongoDB,Elastic Search,等等。也容易看出这里使用的类(org.activiti.engine.impl.event.logger.EventLogger/EventFlusher与许多其他 EventHandler类)是可插入的,可以按你的使用场景调整(例如不将JSON存入数据库,而是将其直接发送给一个队列或大数据存储)。
字段 | 类型 | 长度 | 是否必填 | 描述 |
LOG_NR_ | bigint | 20 | 是 | 主键自增 |
TYPE_ | varchar | 64 | 否 | 类型 |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
EXECUTION_ID_ | varchar | 64 | 否 | 执行id |
TASK_ID_ | varchar | 64 | 否 | 任务id |
TIME_STAMP_ | timestamp | 3 | 是 | 时间 |
USER_ID_ | varchar | 255 | 否 | 用户id |
DATA_ | longblob | 0 | 否 | 内容 |
LOCK_OWNER_ | varchar | 255 | 否 | 锁定节点 |
LOCK_TIME_ | timestamp | 3 | 否 | 锁定时间 |
IS_PROCESSED_ | tinyint | 4 | 否 | 是否正咋执行,默认0 |
-
流程定义更新(ACT_PROCDEF_INFO)
- 流程版本升级的数据
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
PROC_DEF_ID_ | varchar | 64 | 是 |
流程定义ID 外键:ACT_RE_PROCDEF |
REV_ | int | 11 | 否 | 版本号 |
INFO_JSON_ID_ | varchar | 64 | 否 |
内容。资源表id 外键:ACT_GE_BYTEARRAY |
-
流程资源表(ACT_GE_BYTEARRAY)
- 用来保存部署文件的大文本数据
- 所有二进制内容都会保存在这个表里, 比如部署的process.bpmn20.xml, process.png, user.form, 附件, bean序列化为二进制的流程变量。
- act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。
- 保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
NAME_ | varchar | 255 | 否 | 资源名称 |
DEPLOYMENT_ID_ | varchar | 64 | 否 |
ACT_RE_DEPLOYMENT部署表的主键。 一次部署可以关联多个资源 |
BYTES_ | longblob | 0 | 否 |
资源内容,数据类型为longblob 最大可存储4GB的数据 |
GENERATED_ | tinyint | 4 | 否 |
是否为自动产生的资源, 0-false,1-true |
-
系统相关属性表(ACT_GE_PROPERTY)
- 属性抽象成为 key-value对,存储这个流程引擎级别的数据。
- 全局参数, 默认三个参数next.dbid, IdGenerator区间, schema.history, 自动执行sql历史, schema.version, 当前sql版本
字段 | 类型 | 长度 | 是否必填 | 描述 |
NAME_ | varchar | 64 | 是 | 属性名称 |
VALUE_ | varchar | 300 | 否 | 属性值 |
REV_ | int | 11 | 否 | 版本号 |
-
历史流程表(ACT_HI_ACTINST)
- 这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。
- 用来保存每一个流程活动的实例。一个流程活动将会被记录1条数据。根据这表可以追踪到最完整的信息
- TENANT_ID 是后续才加入的多租户
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
PROC_DEF_ID_ | varchar | 64 | 是 | 流程定义id |
PROC_INST_ID_ | varchar | 64 | 是 | 流程实例id |
EXECUTION_ID_ | varchar | 64 | 是 | 执行流id |
ACT_ID_ | varchar | 255 | 是 | 流程活动的ID, 在流程文件中定义 |
TASK_ID_ | varchar | 64 | 否 |
任务ID 任务实例ID 其他节点类型实例ID在这里为空 |
CALL_PROC_INST_ID_ | varchar | 64 | 否 |
请求流程实例ID 调用外部流程的流程实例ID |
ACT_NAME_ | varchar | 255 | 否 |
活动的名称 节点定义的名称 |
ACT_TYPE_ | varchar | 255 | 是 |
活动类型 例如开始事件,活动名称为startEvent |
ASSIGNEE_ | varchar | 255 | 否 |
活动指派人(签收人、经办人) |
START_TIME_ | datetime | 3 | 是 | 活动开始时间,即执行流到达活动时的时间 |
END_TIME_ | datetime | 3 | 否 | 活动结束时间,即执行流离开该活动时的时间 |
DURATION_ | bigint | 20 | 否 | 耗时,毫秒值 |
DELETE_REASON_ | varchar | 4000 | 否 | 删除原因 |
TENANT_ID_ | varchar | 255 | 否 | 租户ID |
-
历史流程附件表(ACT_HI_ATTACHMENT)
- 存放历史流程相关的附件。
- 时间是后续版本加入
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键id |
REV_ | int | 11 | 否 | 版本号 |
USER_ID_ | varchar | 255 | 否 | 用户id |
NAME_ | varchar | 255 | 否 | 附件名称 |
DESCRIPTION_ | varchar | 4000 | 否 | 描述 |
TYPE_ | varchar | 255 | 否 | 附件类型 |
TASK_ID_ | varchar | 64 | 否 | 任务id(节点实例id) |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
URL_ | varchar | 4000 | 否 | 附件地址 |
CONTENT_ID_ | varchar | 64 | 否 | 内容id(字节表id) |
TIME_ | datetime | 3 | 否 | 时间 |
-
历史审批意见表(ACT_HI_COMMENT)
- 存放历史流程的审批意见
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
TYPE_ | varchar | 255 | 否 |
意见记录类型 event:事件 comment:意见 |
TIME_ | datetime | 3 | 是 | 记录时间(填写时间) |
USER_ID_ | varchar | 255 | 否 | 用户id(填写人) |
TASK_ID_ | varchar | 64 | 否 | 任务id(节点实例id) |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
ACTION_ | varchar | 255 | 否 |
行为类型:为AddComment时处理意见 值:AddUserLink、DeleteUserLink、AddGroupLink 、DeleteGroupLink、AddComment 、AddAttachment、DeleteAttachment |
MESSAGE_ | varchar | 4000 | 否 |
处理意见 用于存放流程产生的信息,比如审批意见 |
FULL_MSG_ | longblob | 0 | 否 | 全部内容 |
-
历史流程明细表(ACT_HI_DETAIL)
- 流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
TYPE_ | varchar | 255 | 是 |
数据类型 表单:FormProperty 参数:VariableUpdate |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
TASK_ID_ | varchar | 64 | 否 | 任务实例id |
ACT_INST_ID_ | varchar | 64 | 否 |
活动实例id ACT_HI_ACTINST的id |
NAME_ | varchar | 255 | 是 | 名称 |
VAR_TYPE_ | varchar | 255 | 否 |
变量类型 jpa-entity、boolean、bytes、serializable(可序列化)、 自定义type(根据你自身配置)、 CustomVariableType、 date、double、integer、long、null、short、string |
REV_ | int | 11 | 否 | 数据版本号 |
TIME_ | datetime | 3 | 是 | 创建时间 |
BYTEARRAY_ID_ | varchar | 64 | 否 | 字节数组id |
DOUBLE_ | double | 0 | 否 | 存储double类型变量 |
LONG_ | bigint | 20 | 否 | 存储long类型变量 |
TEXT_ | varchar | 4000 | 否 | 存储String类型的变量 |
TEXT2_ | varchar | 4000 | 否 | 此处存储的是JPA持久化对象时,才会有值。此值为对象ID jpa变量text存className,text2存id |
-
历史流程人员表(ACT_HI_IDENTITYLINK)
- 任务参与者数据表。主要存储历史节点参与者的信息
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
GROUP_ID_ | varchar | 255 | 否 | 用户组id |
TYPE_ | varchar | 255 | 否 |
用户组类型 主要分为:ssignee、candidate、 owner、starter 、participant |
USER_ID_ | varchar | 255 | 否 | 用户id |
TASK_ID_ | varchar | 64 | 否 | 任务id(节点实例id) |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
-
历史流程实例表(ACT_HI_PROCINST)
- 保存流程实例历史数据,只要流程启动了,就会将实例的数据写入表中
- 与正在运行中的流程实例表act_ru_execution正好对应
- 设计历史流程实例表的初衷之一就是为了使得运行时库数据量尽可能小,效率最优
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
PROC_INST_ID_ | varchar | 64 | 是 | 流程实例id |
BUSINESS_KEY_ | varchar | 255 | 否 | 业务主键标识 |
PROC_DEF_ID_ | varchar | 64 | 是 | 流程定义id |
START_TIME_ | datetime | 3 | 是 | 开始时间 |
END_TIME_ | datetime | 3 | 否 | 结束时间 |
DURATION_ | bigint | 20 | 否 | 时长、耗时 |
START_USER_ID_ | varchar | 255 | 否 | 发起人id |
START_ACT_ID_ | varchar | 255 | 否 | 开始节点id |
END_ACT_ID_ | varchar | 255 | 否 | 结束节点id |
SUPER_PROCESS_INSTANCE_ID_ | varchar | 64 | 否 | 超级流程实例id |
DELETE_REASON_ | varchar | 4000 | 否 | 删除理由 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
NAME_ | varchar | 255 | 否 | 名称 |
-
历史任务流程实例表(ACT_HI_TASKINST)
- 存放已办理的任务
- CATEGORY和TNANT_ID是后续版本才加进来的
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
TASK_DEF_KEY_ | varchar | 255 | 否 | 任务定义key(任务节点id) |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
NAME_ | varchar | 255 | 否 | 任务名称 |
PARENT_TASK_ID_ | varchar | 64 | 否 | 父节点实例id |
DESCRIPTION_ | varchar | 4000 | 否 | 描述 |
OWNER_ | varchar | 255 | 否 | 代理人(签收人)任务的拥有者 |
ASSIGNEE_ | varchar | 255 | 否 | 被代理人(委托人) |
START_TIME_ | datetime | 3 | 是 | 开始时间 |
CLAIM_TIME_ | datetime | 3 | 否 | 提醒时间 |
END_TIME_ | datetime | 3 | 否 | 结束时间 |
DURATION_ | bigint | 20 | 否 | 时长(耗时) |
DELETE_REASON_ | varchar | 4000 | 否 | 删除理由 |
PRIORITY_ | int | 11 | 否 | 优先级 |
DUE_DATE_ | datetime | 3 | 否 | 应完成时间(截止时间) |
FORM_KEY_ | varchar | 255 | 否 | 表单key |
CATEGORY_ | varchar | 255 | 否 | 分类 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
历史变量表(ACT_HI_VARINST)
- 主要存放历史变量数据
- 与运行中的参数存储表 act_ru_variable正好对应
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
TASK_ID_ | varchar | 64 | 否 | 任务实例id |
NAME_ | varchar | 255 | 是 | 名称 |
VAR_TYPE_ | varchar | 100 | 否 | 变量类型 |
REV_ | int | 11 | 否 | 数据版本号 |
BYTEARRAY_ID_ | varchar | 64 | 否 |
对应资源表id ACT_GE_BYTEARRAY 表id |
DOUBLE_ | double | 0 | 否 | 存储double类型的数据 |
LONG_ | bigint | 20 | 否 | 存储long类型的数据 |
TEXT_ | varchar | 4000 | 否 | 存储String类型的数据 |
TEXT2_ | varchar | 4000 | 否 | 此处存储的是JPA持久化对象时,才会有值。此值为对象ID jpa变量text存className,text2存id |
CREATE_TIME_ | datetime | 3 | 否 | 创建时间 |
LAST_UPDATED_TIME_ | datetime | 3 | 否 | 最后更新时间 |
-
用户组表(ACT_ID_GROUP)
- 用来存储用户组信息
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 用户组id |
REV_ | int | 11 | 否 | 数据版本号 |
NAME_ | varchar | 255 | 否 | 用户组名称 |
TYPE_ | varchar | 255 | 否 | 用户组类型 |
-
用户拓展信息表(ACT_ID_INFO)
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
USER_ID_ | varchar | 64 | 否 | 用户id |
TYPE_ | varchar | 64 | 否 |
信息类型 account :用户的账号 userinfo :用户信息 |
KEY_ | varchar | 255 | 否 | 属性名 |
VALUE_ | varchar | 255 | 否 | 属性值 |
PASSWORD_ | longblob | 0 | 否 | 密码 |
PARENT_ID_ | varchar | 255 | 否 | 父级id |
-
用户与组关系表(ACT_ID_MEMBERSHIP)
- 用来保存用户的分组信息
字段 | 类型 | 长度 | 是否必填 | 描述 |
USER_ID_ | varchar | 64 | 是 | 用户id |
GROUP_ID_ | varchar | 64 | 是 | 用户组id |
-
用户信息表(ACT_ID_USER)
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 版本号 |
FIRST_ | varchar | 255 | 否 | 用户名称 |
LAST_ | varchar | 255 | 否 | 用户姓氏 |
EMAIL_ | varchar | 255 | 否 | 邮箱 |
PWD_ | varchar | 255 | 否 | 密码 |
PICTURE_ID_ | varchar | 64 | 否 | 头像id(ACT_GE_BYTEARRAY) |
-
部署信息表(ACT_RE_DEPLOYMENT)
- 部署表,每次部署都会写入1条数据。每次部署可能包含多个文件,文件写入ACT_GE_BYTEARRAY中
- 部署流程定义时需要被持久化保存下来的信息。
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
NAME_ | varchar | 255 | 否 | 部署包名称 |
CATEGORY_ | varchar | 255 | 否 | 分类 |
KEY_ | varchar | 255 | 否 | 关键字 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
DEPLOY_TIME_ | timestamp | 3 | 否 | 部署时间 |
ENGINE_VERSION_ | varchar | 255 | 否 | 引擎版本 |
-
流程设计模型表(ACT_RE_MODEL)
- 创建流程的设计模型时,保存在该数据表中
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
NAME_ | varchar | 255 | 否 | 模型名称 |
KEY_ | varchar | 255 | 否 |
模型关键字 流程引擎使用 |
CATEGORY_ | varchar | 255 | 否 | 模型分类 |
CREATE_TIME_ | timestamp | 3 | 否 | 创建时间 |
LAST_UPDATE_TIME_ | timestamp | 3 | 否 | 最后修改时间 |
VERSION_ | int | 11 | 否 | 模型版本 |
META_INFO_ | varchar | 4000 | 否 |
数据源信息 以json格式保存流程定义的信息 |
DEPLOYMENT_ID_ | varchar | 64 | 否 | 部署id |
EDITOR_SOURCE_VALUE_ID_ | varchar | 64 | 否 | 编辑源值id |
EDITOR_SOURCE_EXTRA_VALUE_ID_ | varchar | 64 | 否 | 编辑源扩展值id |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
流程定义表(ACT_RE_PROCDEF)
- 流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表。
- 业务流程定义数据表。此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_REPROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现。
- 流程定义表,每次部署如果发现文件是以bpmn或者bpmn20.xml结尾的,首先会把文件保存到ACT_GE_BYTEARRAY中,之后解析文件的内容,形成特定的流程定义数据保存到本表中。
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
CATEGORY_ | varchar | 255 | 否 |
流程命名空间分类 流程定义的namespace |
NAME_ | varchar | 255 | 否 |
流程定义名称 文件process元素的name属性值 |
KEY_ | varchar | 255 | 是 |
流程定义key 文件process元素的id属性值 |
VERSION_ | int | 11 | 是 | 流程定义版本 |
DEPLOYMENT_ID_ | varchar | 64 | 否 | 关联部署表主键(部署编号) |
RESOURCE_NAME_ | varchar | 4000 | 否 |
资源名称(bpmn文件名称) 一般为相对路径 |
DGRM_RESOURCE_NAME_ | varchar | 4000 | 否 | 图片资源名称 |
DESCRIPTION_ | varchar | 4000 | 否 | 流程定义描述 |
HAS_START_FORM_KEY_ | tinyint | 4 | 否 |
是否存在开始表单标记 0:否 1:是 |
HAS_GRAPHICAL_NOTATION_ | tinyint | 4 | 否 | 是否拥有图片信息 |
SUSPENSION_STATE_ | int | 11 | 否 |
挂起状态 1:正常 2:挂起 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
ENGINE_VERSION_ | varchar | 255 | 否 | 引擎版本 |
-
无法执行工作表(ACT_RU_DEADLETTER_JOB)
- 无法执行的工作表,多次执行都失败的工作,保存于此
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
TYPE_ | varchar | 255 | 是 |
类型,值为 message\timer |
EXCLUSIVE_ | tinyint | 1 | 否 | 是否唯一 |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
PROCESS_INSTANCE_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
EXCEPTION_STACK_ID_ | varchar | 64 | 否 |
异常堆栈 资源表id |
EXCEPTION_MSG_ | varchar | 4000 | 否 | 异常信息 |
DUEDATE_ | timestamp | 3 | 否 | 工作执行时间 |
REPEAT_ | varchar | 255 | 否 | 工作重复执行次数 |
HANDLER_TYPE_ | varchar | 255 | 否 | 处理器类型 |
HANDLER_CFG_ | varchar | 4000 | 否 | 处理器配置 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
运行时事件表(ACT_RU_EVENT_SUBSCR )
- 事件描述表,当流程到达某一类的事件节点(边界事件,中间事件)会往表中写入事件数据
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
EVENT_TYPE_ | varchar | 255 | 是 |
事件类型 message\signal |
EVENT_NAME_ | varchar | 255 | 否 | 事件名称 |
EXECUTION_ID_ | varchar | 64 | 否 | 流程执行id |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
ACTIVITY_ID_ | varchar | 64 | 否 | 时间活动id |
CONFIGURATION_ | varchar | 255 | 否 | 属性配置信息 |
CREATED_ | timestamp | 3 | 是 | 创建时间 |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
运行时流程数据表(ACT_RU_EXECUTION )
- 保存流程实例和执行流
- 核心,我的代办任务查询表
- TENANT_ID、NAME、LOCK_TIME是后续版本加入的。
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
PROC_INST_ID_ | varchar | 64 | 否 |
流程实例id。 一个流程实例可能会产生多个执行流 ,该字段表示执行流所属的流程实例 |
BUSINESS_KEY_ | varchar | 255 | 否 | 启动流程时指定的业务主键 |
PARENT_ID_ | varchar | 64 | 否 |
父流程实例id。 一个流程实例有可能产生执行流,新 的执行流数据以该字段标识其所属的 流程实例 |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
SUPER_EXEC_ | varchar | 64 | 否 | 外部子流程 |
ROOT_PROC_INST_ID_ | varchar | 64 | 否 |
对应的根节点id 也就是流程实例的主键id |
ACT_ID_ | varchar | 255 | 否 |
当前执行流id,id在流程文件中定义 即:ACT_HI_ACTINST中的id |
IS_ACTIVE_ | tinyint | 4 | 否 |
激活状态 0:否 1:是 |
IS_CONCURRENT_ | tinyint | 4 | 否 |
并发状态 0:否 1:是 |
IS_SCOPE_ | tinyint | 4 | 否 |
是否主流程实例 0:否 1:是 |
IS_EVENT_SCOPE_ | tinyint | 4 | 否 |
是否是事件 0:否 1:是 |
IS_MI_ROOT_ | tinyint | 4 | 否 | |
SUSPENSION_STATE_ | int | 11 | 否 |
挂起状态 1:正常 2:挂起 |
CACHED_ENT_STATE_ | int | 11 | 否 |
流程实体的缓存 取值为0~7 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
NAME_ | varchar | 255 | 否 | 名称 |
START_TIME_ | datetime | 3 | 否 | 启动时间 |
START_USER_ID_ | varchar | 255 | 否 | 启动用户 |
LOCK_TIME_ | timestamp | 3 | 否 | 锁定时间 |
IS_COUNT_ENABLED_ | tinyint | 4 | 否 | |
EVT_SUBSCR_COUNT_ | int | 11 | 否 | |
TASK_COUNT_ | int | 11 | 否 | |
JOB_COUNT_ | int | 11 | 否 | |
TIMER_JOB_COUNT_ | int | 11 | 否 | |
SUSP_JOB_COUNT_ | int | 11 | 否 | |
DEADLETTER_JOB_COUNT_ | int | 11 | 否 | |
VAR_COUNT_ | int | 11 | 否 | |
ID_LINK_COUNT_ | int | 11 | 否 |
-
参与者信息表(ACT_RU_IDENTITYLINK )
- 主要存储当前节点参与者的信息,任务参与者数据表
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
GROUP_ID_ | varchar | 255 | 否 | 用户组id |
TYPE_ | varchar | 255 | 否 |
用户组类型 assignee、 candidate和owner, 表示流程数据的指派人(组)、候选人(组)和拥有人 |
USER_ID_ | varchar | 255 | 否 | 用户id |
TASK_ID_ | varchar | 64 | 否 | 任务id |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
-
运行时定时任务数据表(ACT_RU_JOB)
- 作业执行器数据。
- 需要启用JOB组件:JobExecutor 是管理一组线程的组件,这些线程用于触发定时器(包括后续的异步消息)。在单元测试场景下,使用多线程会很笨重。
因此API提供 ManagementService.createJobQuery 用于查询,以及 ManagementService.executeJob 用于执行作业。这样作业的执行就可以在单元测试内部控制。为了避免作业执行器的干扰,可以将它关闭。默认情况下, JobExecutor 在流程引擎启动时激活。当你不希望 JobExecutor 随流程引擎启动时,设置: <property name="jobExecutorActivate" value="false" /> - 启用异步执行器 Async executor activationAsyncExecutor 是管理线程池的组件,这个线程池用于触发定时器与异步任务。默认情况下,由于历史原因,当使用 JobExecutor 时, AsyncExecutor 不生效。然而我们建议使用新的 AsyncExecutor 代替JobExecutor ,通过定义两个参数实现<property name="asyncExecutorEnabled" value="true" /><property name="asyncExecutorActivate" value="true" />asyncExecutorEnabled参数用于启用异步执行器,代替老的作业执行器。 第二个参数asyncExecutorActivate命令Activiti引擎在启动时启动异步执行器线程池。
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
TYPE_ | varchar | 255 | 是 |
类型值为 message、timer |
LOCK_EXP_TIME_ | timestamp | 3 | 否 | 锁定的结束时间 |
LOCK_OWNER_ | varchar | 255 | 否 |
挂起者,锁定标识 默认为uuid |
EXCLUSIVE_ | tinyint | 1 | 否 | 是否唯一 |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
PROCESS_INSTANCE_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
RETRIES_ | int | 11 | 否 | 工作的剩余执行次数 |
EXCEPTION_STACK_ID_ | varchar | 64 | 否 |
异常堆栈 资源表id |
EXCEPTION_MSG_ | varchar | 4000 | 否 | 异常信息 |
DUEDATE_ | timestamp | 3 | 否 | 工作执行时间 |
REPEAT_ | varchar | 255 | 否 | 工作重复执行次数 |
HANDLER_TYPE_ | varchar | 255 | 否 | 处理器类型 |
HANDLER_CFG_ | varchar | 4000 | 否 | 处理器配置 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
暂停表(ACT_RU_SUSPENDED_JOB)
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
TYPE_ | varchar | 255 | 是 |
类型,值为 message、timer |
EXCLUSIVE_ | tinyint | 1 | 否 | 是否唯一 |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
PROCESS_INSTANCE_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
RETRIES_ | int | 11 | 否 |
工作剩余的重复执行次数 默认值3 |
EXCEPTION_STACK_ID_ | varchar | 64 | 否 |
异常堆栈 资源表id |
EXCEPTION_MSG_ | varchar | 4000 | 否 | 异常信息 |
DUEDATE_ | timestamp | 3 | 否 | 工作执行时间 |
REPEAT_ | varchar | 255 | 否 | 工作重复执行剩余次数 |
HANDLER_TYPE_ | varchar | 255 | 否 | 处理器类型 |
HANDLER_CFG_ | varchar | 4000 | 否 | 处理器配置 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
运行时任务表(ACT_RU_TASK)
- 保存流程中的任务
- 执行中实时任务)代办任务查询表
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
PROC_INST_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
NAME_ | varchar | 255 | 否 | 任务名称 |
PARENT_TASK_ID_ | varchar | 64 | 否 |
父任务id 子任务才会设置该字段的值 |
DESCRIPTION_ | varchar | 4000 | 否 |
任务描述 在流程文件中配置 |
TASK_DEF_KEY_ | varchar | 255 | 否 |
任务定义的id值 在流程文件中定义 |
OWNER_ | varchar | 255 | 否 |
任务拥有人 无外键关联 |
ASSIGNEE_ | varchar | 255 | 否 |
代理人,被指派执行该任务的人 委托人、签收人 |
DELEGATION_ | varchar | 64 | 否 |
任务委托状态 PENDING:委托中 RESOLVED:已处理 |
PRIORITY_ | int | 11 | 否 |
任务优先级 默认为50 |
CREATE_TIME_ | timestamp | 3 | 否 | 创建时间 |
DUE_DATE_ | datetime | 3 | 否 | 任务预定日期 |
CATEGORY_ | varchar | 255 | 否 | 类型 |
SUSPENSION_STATE_ | int | 11 | 否 |
暂停状态 1:正常 2:挂起 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
FORM_KEY_ | varchar | 255 | 否 | 表单id |
CLAIM_TIME_ | datetime | 3 | 否 | 签收时间 |
-
定时器表(ACT_RU_TIMER_JOB)
- 定时执行的工作表
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
TYPE_ | varchar | 255 | 是 |
类型,值为 message、timer |
LOCK_EXP_TIME_ | timestamp | 3 | 否 | 锁定的结束时间 |
LOCK_OWNER_ | varchar | 255 | 否 |
挂起者,锁定标识 默认为UUID |
EXCLUSIVE_ | tinyint | 1 | 否 | 是否唯一 |
EXECUTION_ID_ | varchar | 64 | 否 | 执行实例id |
PROCESS_INSTANCE_ID_ | varchar | 64 | 否 | 流程实例id |
PROC_DEF_ID_ | varchar | 64 | 否 | 流程定义id |
RETRIES_ | int | 11 | 否 |
工作的剩余执行次数 默认为3 |
EXCEPTION_STACK_ID_ | varchar | 64 | 否 |
异常堆栈 资源表id |
EXCEPTION_MSG_ | varchar | 4000 | 否 | 异常信息 |
DUEDATE_ | timestamp | 3 | 否 | 工作执行时间 |
REPEAT_ | varchar | 255 | 否 | 工作重复执行次数 |
HANDLER_TYPE_ | varchar | 255 | 否 | 处理器类型 |
HANDLER_CFG_ | varchar | 4000 | 否 | 处理器配置 |
TENANT_ID_ | varchar | 255 | 否 | 租户id |
-
运行时流程变量数据表(ACT_RU_VARIABLE)
字段 | 类型 | 长度 | 是否必填 | 描述 |
ID_ | varchar | 64 | 是 | 主键 |
REV_ | int | 11 | 否 | 数据版本号 |
TYPE_ | varchar | 255 | 是 |
参数类型,不为空 boolean. bytes、serializable. date. double、 integer、jpa-entity、long、 null、 short 、string 除此之外还有自定义扩展类型 |
NAME_ | varchar | 255 | 是 | 参数名称 |
EXECUTION_ID_ | varchar | 64 | 否 | 对应的执行实例id |
PROC_INST_ID_ | varchar | 64 | 否 | 对应的流程实例id |
TASK_ID_ | varchar | 64 | 否 |
任务id(节点实例id) 若是任务参数,则需要配置 |
BYTEARRAY_ID_ | varchar | 64 | 否 |
资源表id 若参数值是序列化对象, 可将该对象作为资源保存到资源表中 |
DOUBLE_ | double | 0 | 否 | 存储参数类型为double的数据 |
LONG_ | bigint | 20 | 否 | 存储参数类型为long的数据 |
TEXT_ | varchar | 4000 | 否 | 存储参数类型为String的数据 |
TEXT2_ | varchar | 4000 | 否 | 文本类型的参数值 |