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。通用資料, 用於不同場景下,如存放資原始檔。
這些表結構,還有一些輔助表。我們後續會詳細解釋,這裡大家先大體瞭解即可;