Skip to content

Flowable

表结构

ACT_RE

re,repository。RepositoryService 接口操作的表。带此前缀的表包含的是静态信息。如:流程定义,流程的资源。

数据表描述
ACT_RE_DEPLOYMENT流程部署表DeploymentEntityImpl
ACT_RE_MODEL模型信息表(用于Web设计器)ModelEntityImpl
ACT_RE_PROCDEF流程定义信息表ProcessDefinitionEntityImpl

ACT_GE

普通数据,各种情况都使用的数据

数据表描述
ACT_GE_BYTEARRAY资源表(存储流程定义相关的资源)ByteArrayEntityImpl
ACT_GE_PROPERTY属性表(保存流程引擎的kv键值属性)PropertyEntityImpl

ACT_RU

ru,runtime。RuntimeServiceTaskService等接口操作的表。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。。flowable只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。

数据表描述
ACT_RU_ACTINST正在运行的节点表
ACT_RU_DEADLETTER_JOB死信表DeadLetterJobEntityImpl
ACT_RU_ENTITYLINK
ACT_RU_EVENT_SUBSCRACT_RU_ACTINST事件订阅表EventSubscriptionEntityImpl
ACT_RU_EXECUTION流程实例与分支执行表ExecutionEntityImpl
ACT_RU_HISTORY_JOB历史作业表
ACT_RU_IDENTITYLINK参与者相关信息表IdentityLinkEntityImpl
ACT_RU_JOB作业表JobEntityImpl
ACT_RU_SUSPENDED_JOB暂停作业表SuspendedJobEntityImpl
ACT_RU_TASK用户任务表TaskEntityImpl
ACT_RU_TIMER_JOB定时器表TimerJobEntityImpl
ACT_RU_VARIABLE变量信息VariableInstanceEntityImpl

ACT_HI

hi,history。HistoryService接口操作的表。就是这些表包含着历史的相关数据,如结束的流程实例,变量、任务、等等。

数据表描述
ACT_HI_ACTINST历史节点信息表HistoricActivityInstanceEntityImpl
ACT_HI_ATTACHMENT附件表AttachmentEntityImpl
ACT_HI_COMMENT评论表CommentEntityImpl
ACT_HI_DETAIL历史的流程运行中的细节信息HistoricDetailEntityImpl
ACT_HI_ENTITYLINK
ACT_HI_IDENTITYLINK历史参与者表HistoricIdentityLinkEntityImpl
ACT_HI_PROCINST历史流程实例表HistoricProcessInstanceEntityImpl
ACT_HI_TASKINST历史任务表HistoricTaskInstanceEntityImpl(只记录usertask内容)
ACT_HI_TSK_LOG
ACT_HI_VARINST历史变量HistoricVariableInstanceEntityImpl

ACT_ID

id, identity(组织机构)。IdentityService接口操作的表。这些表包含表示的信息,如用户、用户组等等。

数据表描述
ACT_ID_BYTEARRAY二进制数据表
ACT_ID_GROUP群组表/用户组信息表(用于Web设计器)GroupEntityImpl
ACT_ID_INFO用户扩展表IdentityInfoEntityImpl
ACT_ID_MEMBERSHIP用户与组关系表MemberShipEntityImpl
ACT_ID_PRIV权限表
ACT_ID_PRIV_MAPPING用户或组权限关系表
ACT_ID_PROPERTY属性表
ACT_ID_TOKEN系统登录日志表
ACT_ID_USER用户基本信息表UserEntityImpl

ACT_PRIN

数据表描述
ACT_PRIN_RELATION流程与业务关联表
ACT_PRIN_RELATION_HIS流程与业务关联历史表

other

数据表描述
ACT_EVT_LOG事件日志表EventLogEntryEntityImpl
ACT_PROCDEF_INFO流程定义动态改变信息表ProcessDefinitionInfoEntityImpl

table

ACT_GE_BYTEARRAY

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本Flowable有可能会被频繁修改数据库表,加入字段,用来表示该数据被 操作的次数
NAME_NVARCHAR2(255)N资源名称
DEPLOYMENT_ID_NVARCHAR2(64)N部署序号部署序号,一次部署可以部署多个资源,该字段与部署表ACT_RE_DEPLOYMENT的主键关联
BYTES_BLOBN资源内容
GENERATED_NUMBER(1)N是否是由flowable自动产生的资源0表示false,1表示true

ACT_GE_PROPERTY

字段类型主键说明备注
NAME_NVARCHAR2(64)Y属性名称
VALUE_NVARCHAR2(300)N属性值
REV_INTEGERN数据版本号

ACT_RE_DEPLOYMENT

字段类型主键说明备注
ID_NVARCHAR2(64)Y部署序号
NAME_NVARCHAR2(255)N部署名称
CATEGORY_NVARCHAR2(255)N类别流程定义的Namespace就是类别
KEY_NVARCHAR2(255)N流程定义ID
TENANT_ID_NVARCHAR2(255)N
DEPLOY_TIME_TIMESTAMP(6)N部署时间
ENGINE_VERSION_NVARCHAR2(255)N引擎版本

ACT_RE_PROCDEF

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本号
CATEGORY_NVARCHAR2(255)N流程定义分类读取xml文件中程的targetNamespace值
NAME_NVARCHAR2(255)N流程定义的名称读取流程文件中process元素的name属性
KEY_NVARCHAR2(255)N流程定义key读取流程文件中process元素的id属性
VERSION_INTEGERN版本
DEPLOYMENT_ID_NVARCHAR2(64)N部署ID流程定义对应的部署数据ID
RESOURCE_NAME_NVARCHAR2(2000)Nbpmn文件名称一般为流程文件的相对路径
DGRM_RESOURCE_NAME_VARCHAR2(4000)N流程定义对应的流程图资源名称
DESCRIPTION_NVARCHAR2(2000)N说明
HAS_START_FORM_KEY_NUMBER(1)N是否存在开始节点formKeystart节点是否存在formKey 0否 1是
HAS_GRAPHICAL_NOTATION_NUMBER(1)N
SUSPENSION_STATE_INTEGERN流程定义状态1激活、2中止
TENANT_ID_NVARCHAR2(255)N
ENGINE_VERSION_NVARCHAR2(255)N引擎版本

ACT_RE_MODEL

  • ACT_RE
  • 流程设计模型部署表
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
NAME_NVARCHAR2(255)N
KEY_NVARCHAR2(255)N
CATEGORY_NVARCHAR2(255)N分类
CREATE_TIME_TIMESTAMP(6)N创建时间
LAST_UPDATE_TIME_TIMESTAMP(6)N最后更新时间
VERSION_INTEGERN版本
META_INFO_NVARCHAR2(2000)N以json格式保存流程定义的信息
DEPLOYMENT_ID_NVARCHAR2(64)N部署ID
EDITOR_SOURCE_VALUE_ID_NVARCHAR2(64)N
EDITOR_SOURCE_EXTRA_VALUE_ID_NVARCHAR2(64)N
TENANT_ID_NVARCHAR2(255)N

ACT_RU_EXECUTION

  • ACT_RU
  • 流程实例(执行流程)表
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
BUSINESS_KEY_NVARCHAR2(255)N业务主键ID
PARENT_ID_NVARCHAR2(64)N父执行流的ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义的数据ID
SUPER_EXEC_NVARCHAR2(64)N
ROOT_PROC_INST_ID_NVARCHAR2(64)N根节点ID
ACT_ID_NVARCHAR2(255)N节点实例ID
IS_ACTIVE_NUMBER(1)N是否存活
IS_CONCURRENT_NUMBER(1)N执行流是否正在并行
IS_SCOPE_NUMBER(1)N
IS_EVENT_SCOPE_NUMBER(1)N
IS_MI_ROOT_NUMBER(1)N
SUSPENSION_STATE_INTEGERN流程终端状态
CACHED_ENT_STATE_INTEGERN
TENANT_ID_NVARCHAR2(255)N
NAME_NVARCHAR2(255)N
START_TIME_TIMESTAMP(6)N开始时间
START_USER_ID_NVARCHAR2(255)N
LOCK_TIME_TIMESTAMP(6)N
IS_COUNT_ENABLED_NUMBER(1)N
EVT_SUBSCR_COUNT_INTEGERN
TASK_COUNT_INTEGERN
JOB_COUNT_INTEGERN
TIMER_JOB_COUNT_INTEGERN
SUSP_JOB_COUNT_INTEGERN
DEADLETTER_JOB_COUNT_INTEGERN
VAR_COUNT_INTEGERN
ID_LINK_COUNT_INTEGERN

ACT_RU_TASK

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
EXECUTION_ID_NVARCHAR2(64)N任务所在的执行流ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义数据ID
NAME_NVARCHAR2(255)N任务名称
PARENT_TASK_ID_NVARCHAR2(64)N父任务ID
DESCRIPTION_NVARCHAR2(2000)N说明
TASK_DEF_KEY_NVARCHAR2(255)N任务定义的ID值
OWNER_NVARCHAR2(255)N任务拥有人
ASSIGNEE_NVARCHAR2(255)N被指派执行该任务的人
DELEGATION_NVARCHAR2(64)N
PRIORITY_INTEGERN
CREATE_TIME_TIMESTAMP(6)N创建时间
DUE_DATE_TIMESTAMP(6)N耗时
CATEGORY_NVARCHAR2(255)N
SUSPENSION_STATE_INTEGERN是否挂起1代表激活 2代表挂起
TENANT_ID_NVARCHAR2(255)N
FORM_KEY_NVARCHAR2(255)N
CLAIM_TIME_TIMESTAMP(6)N

ACT_RU_VARIABLE

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N参数类型可以是基本的类型,也可以用户自行扩展
NAME_NVARCHAR2(255)N参数名称
EXECUTION_ID_NVARCHAR2(64)N参数执行ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
TASK_ID_NVARCHAR2(64)N任务ID
BYTEARRAY_ID_NVARCHAR2(64)N资源ID
DOUBLE_NUMBER(*,10)N参数为double,则保存在该字段中
LONG_NUMBER(19)N参数为long,则保存在该字段中
TEXT_NVARCHAR2(2000)N用户保存文本类型的参数值
TEXT2_NVARCHAR2(2000)N用户保存文本类型的参数值
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
GROUP_ID_NVARCHAR2(255)N用户组ID
TYPE_NVARCHAR2(255)N关系数据类型assignee支配人(组)、candidate候选人(组)、owner拥有人
USER_ID_NVARCHAR2(255)N用户ID
TASK_ID_NVARCHAR2(64)N任务ID
PROC_INST_ID_NVARCHAR2(64)N流程定义ID
PROC_DEF_ID_NVARCHAR2(64)N属性ID

ACT_RU_JOB

  • ACT_RU
  • 工作数据表(一般工作表)
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N类型
LOCK_EXP_TIME_TIMESTAMP(6)N锁定释放时间
LOCK_OWNER_NVARCHAR2(255)N挂起者
EXCLUSIVE_NUMBER(1)N
EXECUTION_ID_NVARCHAR2(64)N执行实例ID
PROCESS_INSTANCE_ID_NVARCHAR2(64)N流程实例ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
RETRIES_INTEGERN
EXCEPTION_STACK_ID_NVARCHAR2(64)N异常信息ID
EXCEPTION_MSG_NVARCHAR2(2000)N异常信息
DUEDATE_TIMESTAMP(6)N到期时间
REPEAT_NVARCHAR2(255)N重复
HANDLER_TYPE_NVARCHAR2(255)N处理类型
HANDLER_CFG_NVARCHAR2(2000)N
TENANT_ID_NVARCHAR2(255)N

ACT_RU_DEADLETTER_JOB

  • ACT_RU
  • 工作数据表(无法执行工作表)
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N类型
EXCLUSIVE_NUMBER(1)N
EXECUTION_ID_NVARCHAR2(64)N执行实例ID
PROCESS_INSTANCE_ID_NVARCHAR2(64)N流程实例ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
RETRIES_INTEGERN
EXCEPTION_STACK_ID_NVARCHAR2(64)N异常信息ID
EXCEPTION_MSG_NVARCHAR2(2000)N异常信息
DUEDATE_TIMESTAMP(6)N到期时间
REPEAT_NVARCHAR2(255)N重复
HANDLER_TYPE_NVARCHAR2(255)N处理类型
HANDLER_CFG_NVARCHAR2(2000)N
TENANT_ID_NVARCHAR2(255)N

ACT_RU_SUSPENDED_JOB

  • ACT_RU
  • 工作数据表(暂停工作表)
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N类型
EXCLUSIVE_NUMBER(1)N
EXECUTION_ID_NVARCHAR2(64)N执行实例ID
PROCESS_INSTANCE_ID_NVARCHAR2(64)N流程实例ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
RETRIES_INTEGERN
EXCEPTION_STACK_ID_NVARCHAR2(64)N异常信息ID
EXCEPTION_MSG_NVARCHAR2(2000)N异常信息
DUEDATE_TIMESTAMP(6)N到期时间
REPEAT_NVARCHAR2(255)N重复
HANDLER_TYPE_NVARCHAR2(255)N处理类型
HANDLER_CFG_NVARCHAR2(2000)N
TENANT_ID_NVARCHAR2(255)N

ACT_RU_TIMER_JOB

  • ACT_RU
  • 工作数据表(定时工作表)
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N类型
EXCLUSIVE_NUMBER(1)N
EXECUTION_ID_NVARCHAR2(64)N执行实例ID
PROCESS_INSTANCE_ID_NVARCHAR2(64)N流程实例ID
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
RETRIES_INTEGERN
EXCEPTION_STACK_ID_NVARCHAR2(64)N异常信息ID
EXCEPTION_MSG_NVARCHAR2(2000)N异常信息
DUEDATE_TIMESTAMP(6)N到期时间
REPEAT_NVARCHAR2(255)N重复
HANDLER_TYPE_NVARCHAR2(255)N处理类型
HANDLER_CFG_NVARCHAR2(2000)N
TENANT_ID_NVARCHAR2(255)N

ACT_RU_EVENT_SUBSCR

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
EVENT_TYPE_NVARCHAR2(255)N事件类型
EVENT_NAME_NVARCHAR2(255)N事件名称
EXECUTION_ID_NVARCHAR2(64)N指定ID
PROC_INST_ID_NVARCHAR2(64)N流程定义ID
ACTIVITY_ID_NVARCHAR2(64)N具体事件ID
CONFIGURATION_NVARCHAR2(255)N事件的配置属性
CREATED_TIMESTAMP(6)N创建时间
PROC_DEF_ID_NVARCHAR2(64)N属性ID
TENANT_ID_NVARCHAR2(255)N

ACT_HI_PROCINST

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
BUSINESS_KEY_NVARCHAR2(255)N业务主键
PROC_DEF_ID_NVARCHAR2(64)N属性ID
START_TIME_TIMESTAMP(6)N开始时间
END_TIME_TIMESTAMP(6)N结束时间
DURATION_NUMBER(19)N耗时
START_USER_ID_NVARCHAR2(255)N起始人
START_ACT_ID_NVARCHAR2(255)N起始节点
END_ACT_ID_NVARCHAR2(255)N结束节点
SUPER_PROCESS_INSTANCE_ID_NVARCHAR2(64)N父流程实例ID
DELETE_REASON_NVARCHAR2(2000)N删除原因
TENANT_ID_NVARCHAR2(255)N
NAME_NVARCHAR2(255)N名称

ACT_HI_DETAIL

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
TYPE_NVARCHAR2(255)N类型
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
EXECUTION_ID_NVARCHAR2(64)N执行ID
TASK_ID_NVARCHAR2(64)N任务ID
ACT_INST_ID_NVARCHAR2(64)N节点实例ID
NAME_NVARCHAR2(255)N名称
VAR_TYPE_NVARCHAR2(64)N参数类型
TIME_TIMESTAMP(6)N时间戳
BYTEARRAY_ID_NVARCHAR2(64)N字节表ID
DOUBLE_NUMBER(*,10)N存储变量类型为Double
LONG_NUMBER(19)N存储变量类型为long
TEXT_NVARCHAR2(2000)N存储变量值类型为String
TEXT2_NVARCHAR2(2000)N此处存储的是JPA持久化对象时,才会有值。此值为对象ID

ACT_HI_TASKINST

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
TASK_DEF_KEY_NVARCHAR2(255)N任务定义的ID值
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
EXECUTION_ID_NVARCHAR2(64)N执行ID
PARENT_TASK_ID_NVARCHAR2(64)N父任务ID
NAME_NVARCHAR2(255)N名称
DESCRIPTION_NVARCHAR2(2000)N说明
OWNER_NVARCHAR2(255)N实际签收人 任务的拥有者签收人(默认为空,只有在委托时才有值)
ASSIGNEE_NVARCHAR2(255)N被指派执行该任务的人
START_TIME_TIMESTAMP(6)N开始时间
CLAIM_TIME_TIMESTAMP(6)N提醒时间
END_TIME_TIMESTAMP(6)N结束时间
DURATION_NUMBER(19)N耗时
DELETE_REASON_NVARCHAR2(2000)N删除原因
PRIORITY_INTEGERN优先级别
DUE_DATE_TIMESTAMP(6)N过期时间
FORM_KEY_NVARCHAR2(255)N节点定义的formkey
CATEGORY_NVARCHAR2(255)N类别
TENANT_ID_NVARCHAR2(255)N

ACT_HI_ACTINST

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
EXECUTION_ID_NVARCHAR2(64)N执行ID
ACT_ID_NVARCHAR2(255)N节点实例ID
TASK_ID_NVARCHAR2(64)N任务ID
CALL_PROC_INST_ID_NVARCHAR2(64)N调用外部的流程实例ID
ACT_NAME_NVARCHAR2(255)N节点名称
ACT_TYPE_NVARCHAR2(255)N节点类型
ASSIGNEE_NVARCHAR2(255)N节点签收人
START_TIME_TIMESTAMP(6)N开始时间
END_TIME_TIMESTAMP(6)N结束时间
DURATION_NUMBER(19)N耗时
DELETE_REASON_NVARCHAR2(2000)N删除原因
TENANT_ID_NVARCHAR2(255)N

ACT_HI_ATTACHMENT

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
USER_ID_NVARCHAR2(255)N用户ID
NAME_NVARCHAR2(255)N名称
DESCRIPTION_NVARCHAR2(2000)N说明
TYPE_NVARCHAR2(255)N类型
TASK_ID_NVARCHAR2(64)N任务ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
URL_NVARCHAR2(2000)N
CONTENT_ID_NVARCHAR2(64)N字节表的ID
TIME_TIMESTAMP(6)N时间

ACT_HI_COMMENT

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
TYPE_NVARCHAR2(255)N类型类型:event(事件)、comment(意见)
TIME_TIMESTAMP(6)N时间
USER_ID_NVARCHAR2(255)N用户ID
TASK_ID_NVARCHAR2(64)N任务ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
ACTION_NVARCHAR2(255)N行为类型
MESSAGE_NVARCHAR2(2000)N信息用于存放流程产生的信息,比如审批意见
FULL_MSG_BLOBN全部内容

ACT_HI_VARINST

  • ACT_HI
  • 历史变量表历史变量表
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
EXECUTION_ID_NVARCHAR2(64)N指定ID
TASK_ID_NVARCHAR2(64)N任务ID
NAME_NVARCHAR2(255)N名称
VAR_TYPE_NVARCHAR2(100)N参数类型
REV_INTEGERN数据版本
BYTEARRAY_ID_NVARCHAR2(64)N字节表ID
DOUBLE_NUMBER(*,10)N存储double类型数据
LONG_NUMBER(*,10)N存储long类型数据
TEXT_NVARCHAR2(2000)N
TEXT2_NVARCHAR2(2000)N
CREATE_TIME_TIMESTAMP(6)(2000)N
LAST_UPDATED_TIME_TIMESTAMP(6)(2000)N
字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
GROUP_ID_NVARCHAR2(255)N组ID
TYPE_NVARCHAR2(255)N类型
USER_ID_NVARCHAR2(255)N用户ID
TASK_ID_NVARCHAR2(64)N任务ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID

ACT_ID_USER

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
FIRST_NVARCHAR2(255)N人名
LAST_NVARCHAR2(255)N姓氏
EMAIL_NVARCHAR2(255)N邮件
PWD_NVARCHAR2(255)N用户密码
PICTURE_ID_NVARCHAR2(64)N图片ID

ACT_ID_INFO

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
USER_ID_NVARCHAR2(64)N对应用户表主键
TYPE_NVARCHAR2(64)N信息类型当前可以设置用户帐号(account)、用户信息(userinfo)和NULL三种值
KEY_NVARCHAR2(255)N数据的键可以根据该键查找用户信息的值
VALUE_NVARCHAR2(255)N数据的值
PASSWORD_BLOBN用户密码
PARENT_ID_NVARCHAR2(255)N父信息ID

ACT_ID_GROUP

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
REV_INTEGERN数据版本
NAME_NVARCHAR2(255)N用户组名称
TYPE_NVARCHAR2(255)N用户组类型

ACT_ID_MEMBERSHIP

字段类型主键说明备注
USER_ID_NVARCHAR2(64)Y用户ID
GROUP_ID_NVARCHAR2(64)Y用户组ID

ACT_PRIN_RELATION

字段类型主键说明备注
IDVARCHAR(36)Y主键
STATUSDECIMALN状态
PROC_INST_IDNVARCHAR2(64)N流程实例ID
PROC_DEF_IDNVARCHAR2(64)N流程定义的数据ID
CODEVARCHAR(36)N业务ID

ACT_PRIN_RELATION_HIS

字段类型主键说明备注
IDVARCHAR(36)Y主键
STATUSDECIMALN状态
PROC_INST_IDNVARCHAR2(64)N流程实例ID
PROC_DEF_IDNVARCHAR2(64)N流程定义的数据ID
CODEVARCHAR(36)N业务ID

ACT_EVT_LOG

字段类型主键说明备注
LOG_NR_NUMBER(19)Y主键
TYPE_NVARCHAR2(64)N类型
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
PROC_INST_ID_NVARCHAR2(64)N流程实例ID
EXECUTION_ID_NVARCHAR2(64)N执行ID
TASK_ID_NVARCHAR2(64)N任务ID
TIME_STAMP_TIMESTAMP(6)N
USER_ID_NVARCHAR2(255)N
DATA_BLOBN
LOCK_OWNER_NVARCHAR2(255)N
LOCK_TIME_TIMESTAMP(6)N
IS_PROCESSED_NUMBER(3)N

ACT_PROCDEF_INFO

字段类型主键说明备注
ID_NVARCHAR2(64)Y主键
PROC_DEF_ID_NVARCHAR2(64)N流程定义ID
REV_INTEGERN数据版本
INFO_JSON_ID_NVARCHAR2(64)N

Service

RepositoryService

activiti的资源管理类,提供了管理和控制流程发布和流程定义的操作。使用工作流建模工具设计的业务流程图需要使用此service将流程定义文件的内容部署到计算机。

查询引擎中的发布包和流程定义。

暂停或激活发布包,对应全部和特定流程定义。展厅意味着它们不能再执行任何操作了,激活是对应的反向操作。获得多种资源,像是包含在发布包里的文件,或引擎自动生成的流程图。

获得流程定义的pojo版本,可以用来通过java解析流程,而不必通过xml。

  • deploy

    java
    https://www.bilibili.com/video/BV1PY411F7ir?p=29&spm_id_from=pageDriver&vd_source=d5a50d4dbb0e4127dab8de629781fa0f
    
    http://logic-flow.org/guide/extension/component-menu.html#%E5%90%AF%E7%94%A8
    // 一次可以部署多个

92b22af6369c3b8c580405a759e1489ea5aa26c3

RuntimeService

activiti的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息。

TaskService

activiti的任务管理类。可以从这个类中获取任务的信息。

HistoryService

activiti的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务参与者,完成任务的时间,每个流程实例的执行路径,等等。这个服务主要通过查询功能来获得这些数据。

ManagementService

activiti引擎管理类,提供了flowable流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于flowable系统的日常维护。

IdentityService

java
// 根据组获取任务
IdentityService identityService = engine.getIdentityService();
Group group = identityService.createGroupQuery().groupMember("user id").singleResult();
TaskService taskService = engine.getTaskService();
List<Task> list = taskService.createTaskQuery()
    .taskCandidateGroup(group.getId())
    .list();

Test

本地测试flowable功能

  • pom.xml

    xml
    <dependency>
        <groupId>org.flowable</groupId>
        <artifactId>flowable-engine</artifactId>
        <version>6.7.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
    
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.21</version>
    </dependency>
    
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.21</version>
    </dependency>
    
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
  • src/main/resources/log4j.properties

    properties
    log4j.rootLogger=DEBUG, CA
    
    log4j.appender.CA=org.apache.log4j.ConsoleAppender
    log4j.appender.CA.layout=org.apache.log4j.PatternLayout
    log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
  • src/main/test

    java
      @Test
        public void configuration() {
            ProcessEngineConfiguration configuration = new StandaloneProcessEngineConfiguration();
            // com.mysql.jdbc.Driver
            configuration.setJdbcDriver("com.mysql.cj.jdbc.Driver");
            configuration.setJdbcUrl("jdbc:mysql://127.0.0.1:3380/flowable?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true");
            configuration.setJdbcUsername("root");
            configuration.setJdbcPassword("777");
    
            configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
    
            configuration.buildProcessEngine();
        }

@Test public void () { TaskService taskService = engine.getTaskService();

    // 全局变量
    taskService.setVariables();
    
    // 局部变量
    taskService.serVariablesLocal();
    
    // 局部变量全局变量同名时,优先取局部变量

}

// 拾取候选任务
List<Task> list = taskService.createTaskQuery()
    .taskCandidateUser("user id")
    .list();
task.claim(list.get(0).getId, "user id");

// 退还任务
task.unclaim(list.get(0).getId, "user id");

// 任务交接
taskService.setAssignee(list.get(0).getId(), "user id");

// 任务完成
taskservice.complete();
 
// 组、用户关系维护
IdentityService identityService = engine.getIdentityService();
User user = identityService.newUser();
```

FAQ

记录一些坑

  • MySQL

    sql
     -- mysql-connector-java 5.x 版本起,nullCatalogMeansCurrent属性由原来默认的true改为false
     -- 返回指定库涉及表
     nullcatalogMeansCurrent=true; 
     -- 返回所有库涉及表
     nullcatalogMeanCurrent=false;
     -- activiti, flowable 启动时
     -- couldn't upgrade db schema: insert into ACT_GE_PROPERTY
     -- Table 'flowable.act_ge_property' doesn't exist