上一篇 Activiti 工做流學習(二)java
都是在網上找的一些基本概念,引用的文檔比較多比較雜,就不一一列出了。再此表示感謝。sql
1. Deployment:流程部署對象,部署一個流程時建立。數據庫
2. ProcessDefinitions:流程定義,部署成功後自動建立。異步
3. ProcessInstances:流程實例,啓動流程時建立。 ide
4. Task:任務,在Activiti中的Task僅指有角色參與的任務,即定義中的UserTask。 工具
5. Execution:執行計劃,流程實例和流程執行中的全部節點都是Execution,如UserTask、ServiceTask等。學習
1. ProcessEngine:流程引擎的抽象,經過它咱們能夠得到咱們須要的一切服務。 優化
2. RepositoryService:Activiti中每個不一樣版本的業務流程的定義都須要使用一些定義文件,部署文件和支持數據(例如BPMN2.0 XML文件,表單定義文件,流程定義圖像文件等),這些文件都存儲在Activiti內建的Repository中。RepositoryService提供了對 repository的存取服務。spa
3. RuntimeService:在Activiti中,每當一個流程定義被啓動一次以後,都會生成一個相應的流程對象實例。RuntimeService提供了啓動流程、查詢流程實例、設置獲取流程實例變量等功能。此外它還提供了對流程部署,流程定義和流程實例的存取服務。.net
4. TaskService: 在Activiti中業務流程定義中的每個執行節點被稱爲一個Task,對流程中的數據存取,狀態變動等操做均須要在Task中完成。TaskService提供了對用戶Task 和Form相關的操做。它提供了運行時任務查詢、領取、完成、刪除以及變量設置等功能。
5. IdentityService: Activiti中內置了用戶以及組管理的功能,必須使用這些用戶和組的信息才能獲取到相應的Task。IdentityService提供了對Activiti 系統中的用戶和組的管理功能。
6. ManagementService: ManagementService提供了對Activiti流程引擎的管理和維護功能,這些功能不在工做流驅動的應用程序中使用,主要用於Activiti系統的平常維護。
7. HistoryService: HistoryService用於獲取正在運行或已經完成的流程實例的信息,與RuntimeService中獲取的流程信息不一樣,歷史信息包含已經持久化存儲的永久信息,並已經被針對查詢優化。
業務流程建模與標註(Business Process Model and Notation,BPMN) ,描述流程的基本符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram)
Activiti數據庫支持:
Activiti的後臺是有數據庫的支持,全部的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。 用途也和服務的API對應。
ACT_RE_*: ‘RE’表示repository。 這個前綴的表包含了流程定義和流程靜態資源 (圖片,規則,等等)。
ACT_RU_*: ‘RU’表示runtime。 這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數據。 Activiti只在流程實例執行過程當中保存這些數據, 在流程結束時就會刪除這些記錄。 這樣運行時表能夠一直很小速度很快。
ACT_ID_*: ‘ID’表示identity。 這些表包含身份信息,好比用戶,組等等。
ACT_HI_*: ‘HI’表示history。 這些表包含歷史數據,好比歷史流程實例, 變量,任務等等。
ACT_GE_*: 通用數據, 用於不一樣場景下,如存放資源文件。
資源庫流程規則表
1) act_re_deployment 部署信息表
2) act_re_model 流程設計模型部署表
3) act_re_procdef 流程定義數據表
運行時數據庫表
1) act_ru_execution 運行時流程執行實例表
2) act_ru_identitylink 運行時流程人員表,主要存儲任務節點與參與者的相關信息
3) act_ru_task 運行時任務節點表
4) act_ru_variable 運行時流程變量數據表
歷史數據庫表
1) act_hi_actinst 歷史節點表
2) act_hi_attachment 歷史附件表
3) act_ih_comment 歷史意見表
4) act_hi_identitylink 歷史流程人員表
5) act_hi_detail 歷史詳情表,提供歷史變量的查詢
6) act_hi_procinst 歷史流程實例表
7) act_hi_taskinst 歷史任務實例表
8) act_hi_varinst 歷史變量表
組織機構表
1) act_id_group 用戶組信息表
2) act_id_info 用戶擴展信息表
3) act_id_membership 用戶與用戶組對應信息表
4) act_id_user 用戶信息表
這四張表很常見,基本的組織機構管理,關於用戶認證方面建議仍是本身開發一套,組件自帶的功能太簡單,使用中有不少需求難以知足
通用數據表
1) act_ge_bytearray 二進制數據表
2) act_ge_property 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄,
Activiti核心配置文件,配置流程引擎建立工具的基本參數和數據庫鏈接池參數。
定義數據庫配置參數:
jdbcUrl: 數據庫的JDBC URL。
jdbcDriver: 對應不一樣數據庫類型的驅動。
jdbcUsername: 鏈接數據庫的用戶名。
jdbcPassword: 鏈接數據庫的密碼。
基於JDBC參數配置的數據庫鏈接 會使用默認的MyBatis鏈接池。 下面的參數能夠用來配置鏈接池(來自MyBatis參數):
jdbcMaxActiveConnections: 鏈接池中處於被使用狀態的鏈接的最大值。默認爲10。
jdbcMaxIdleConnections: 鏈接池中處於空閒狀態的鏈接的最大值。
jdbcMaxCheckoutTime: 鏈接被取出使用的最長時間,超過期間會被強制回收。 默認爲20000(20秒)。
jdbcMaxWaitTime: 這是一個底層配置,讓鏈接池能夠在長時間沒法得到鏈接時, 打印一條日誌,並從新嘗試獲取一個鏈接。(避免由於錯誤配置致使沉默的操做失敗)。 默認爲20000(20秒)。
示例數據庫配置:
也能夠使用javax.sql.DataSource。 (好比,Apache Commons的DBCP):