生成activiti需要的25張系統表

魔豆發表於2017-09-15

Activiti的執行支援,必須要有Activiti的25張表,主要是在流程執行過程中,記錄儲存一些參與流程的使用者主體,

組,以及流程定義的儲存,流程執行時候的一些資訊,以及流程的歷史資訊等。

下面我們來生成這25張系統表。

 

pom.xml新增如下內容:

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.7</version>
        </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.9.1</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.1</version>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-engine</artifactId>
        <version>5.19.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring</artifactId>
        <version>5.19.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-bpmn-model</artifactId>
        <version>5.19.0.2</version>
    </dependency>

 

編寫生成25張系統表的類:

package com.comp.common;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;

public class Gen {

    public static void main(String[] args) {
        // 引擎配置
        ProcessEngineConfiguration pec=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        pec.setJdbcDriver("oracle.jdbc.driver.OracleDriver");
        pec.setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:orcl");
        pec.setJdbcUsername("user1");    
        pec.setJdbcPassword("123");
         
        /**
         * false 不能自動建立表
         * create-drop 先刪除表再建立表
         * true 自動建立和更新表  
         */
        pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
         
        // 獲取流程引擎物件
        ProcessEngine processEngine=pec.buildProcessEngine();

    }

}

 

執行成功,控制檯會輸出:

2017-09-15 13:48:47  INFO ProcessEngineImpl:85 - ProcessEngine default created

 

生成的表如圖:

 

ACT_RE_*: 'RE'表示repository。 這個字首的表包含了流程定義和流程靜態資源 (圖片,規則,等等)。

ACT_RU_*: 'RU'表示runtime。 這些執行時的表,包含流程例項,任務,變數,非同步任務,等執行中的資料。 Activiti只在流程例項執行過程中儲存這些資料, 在流程結束時就會刪除這些記錄。 這樣執行時表可以一直很小速度很快。

ACT_ID_*: 'ID'表示identity。 這些表包含身份資訊,比如使用者,組等等。

ACT_HI_*: 'HI'表示history。 這些表包含歷史資料,比如歷史流程例項, 變數,任務等等。

ACT_GE_*: 'GE'表示general。通用資料, 用於不同場景下,如存放資原始檔。

這些表結構,還有一些輔助表。我們後續會詳細解釋,這裡大家先大體瞭解即可;

相關文章