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 運行時流程變量數據表

 

 

 

 

 

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 工作流的表是用來存放流程數據的,而業務數據都需要用戶自己來創建和維護。一定需要業務去關聯流程,才能開發工作流系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章