Activiti5 工作流数据表介绍

一、Activiti 数据表介绍

Activiti 后台是有数据库支持的,一共产生23张边,所有的表都以ACT_开头。第二部分是表示表的用途的两个字母标识。用途也和服务的API 对应。Activiti 默认使用 MyBatis 数据连接池。通过导入 activit-engine 依赖可以清楚看到 Activiti 依赖于 MyBatis。

ACT_RE_* :'RE' 表示 repository(存储库)。资源库流程规则表。这个前缀的表包含了流程定义和流程静态资源(图片、规则 等)。

act_re_deployment 部署信息表
act_re_model 流程设计模型部署表
act_re_prodef

流程定义数据表

ACT_RU_* :'RU’ 表示 runtime(运行时)。运行时数据库表。这些运行时的表,包含流程实例、任务、变量、异步任务 等运行中的数据。这样运行时表可以一直很小数据很快。

act_ru_execution 运行时流程执行实例表
act_ru_identitylink

运行时流程人员表,

主要存储任务节点与参与者的相关信息。

act_ru_lask 运行时任务节点表
act_ru_variable 运行时流程变量数据表

扫描二维码关注公众号,回复: 11956510 查看本文章

ACT_ID_* :'ID' 表示 identity(身份)。组织机构表。这些表包含了身份信息,比如用户、组 等。

act_id_group 用户组信息表
act_id_info 用户扩展信息表
act_id_membership 用户与用户组对应信息表
act_id_user 用户信息表

ACT_HI_* :'HI' 表示 history(历史)。历史数据库表。这些表包含历史数据,比如历史流程实例,变量、任务 等。

act_hi_actinst 历史节点表
act_hi_attachment 历史附件表
act_hi_comment 历史意见表
act_hi_identitylink 历史流程人员表
act_hi_detail 历史详情表,提供历史变量查询
act_hi_procinst 历史流程实例表a
act_hi_tasking 历史任务实例表
act_hi_varinst 历史变量表

ACT_GE_* :'GE' 表示 general(普遍的)。通用数据表。用于不同场景下,如存放资源文件。

act_ge_bytearry 二进制数据表
act_ge_property

属性数据表,

存储整个流程引擎级别的数据,初始化表

二、activiti.cfg.xml 配置文件

Activiti 核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。

定义数据库配置参数:

  • jdbcUrl:数据库的JDBC URL。
  • jdbcDriver:对应不同数据库类型的驱动。
  • jdbcUsername:连接数据库的用户名。
  • jdbcPassword:连接数据库的密码。

基于JDBC 参数配置的数据库连接,会使用默认的 MyBatis 连接池。下面的参数可以用来配置连接池(来自MyBatis参数):

  • jdbcMaxActiveConnections:连接池中处于被使用状态的连接的最大值,默认为10。
  • jdbcMaxIdleConnections:连接池处于空闲状态的连接最大值。
  • jdbcMaxCheckoutTime:连接被取出使用的最长时间。超过时间会被强制回收。默认为20000(20秒)。
  • jdbcMaxWaitTime:这是一个底层配置,让连接池可以在长时间无法获得连接时,打印一条日志,并重新尝试获取一个连接,避免因为错误配置导致操作失败,默认为20000(20秒)。

配置文件示例:

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
         <!-- 数据库连接配置 -->
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti_test?createDatabaseIfNotExist=true"></property>
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="root" />
        <!-- 建表策略
            databaseSchemaUpdate: 设置流程引擎启动和关闭时如何处理数据库表
            false(默认):检查数据库表的版本和依赖库的版本,如果版本不匹配就抛出异常。不能自动创建表,需要表存在,手动创建。
            true: 构建流程引擎时,执行检查,如果需要就执行更新,如果表不存在就创建。先删除表再创建表。
            create-drop: 构建流程引擎时创建数据库表,关闭流程引擎时,删除这些表。如果表不存在,自动创建表。
        -->
        <property name="databaseSchemaUpdate" value="true" />
        <!-- 是否启动任务调度 -->
        <property name="jobExecutorActivate" value="false" />
        <!-- 邮件服务器配置 -->
        <property name="mailServerHost" value="mail.my-corp.com" />
        <property name="mailServerPort" value="5025" />
    </bean>
    
</beans>

Activiti 底层操作数据库默认是使用 MyBatis 操作。

Activiti 工作流的表是用来存放流程数据的,而业务数据都需要用户自己来创建和维护。一定需要业务去关联流程,才能开发工作流系统。

猜你喜欢

转载自blog.csdn.net/qq_41057885/article/details/98625396