天天看點

流程引擎的API和服務基礎

RepositoryService :  管理和控制 <code>釋出包</code> 和 <code>流程定義(包含了一個流程每個環節的結構和行為)</code> 的操作

除此之外,服務可以

查詢引擎中的釋出包和流程定義。

暫停或激活釋出包,對應全部和特定流程定義。 暫停意味着它們不能再執行任何操作了,激活是對應的反向操作。

獲得多種資源,像是包含在釋出包裡的檔案, 或引擎自動生成的流程圖。

獲得流程定義的pojo版本, 可以用來通過java解析流程,而不必通過xml。

RuntimeService : 負責啟動一個流程定義的新執行個體,擷取和儲存 <code>流程變量,查詢流程執行個體和執行</code>

TaskService :所有與任務有關的功能

查詢配置設定給使用者或組的任務

建立 獨立運作 任務。這些任務與流程執行個體無關。

手工設定任務的執行者,或者這些使用者通過何種方式與任務關聯。

認領并完成一個任務。認領意味着一個人期望成為任務的執行者, 即這個使用者會完成這個任務。完成意味着“做這個任務要求的事情”。 通常來說會有很多種處理形式。

IdentityService:  管理(建立,更新,删除,查詢...)群組和使用者

FormService:  一個可選服務,這個服務提供了 啟動表單 和 任務表單 兩個概念

 HistoryService:  提供了Activiti引擎的所有曆史資料

ManagementService : 在使用Activiti的定制環境中基本上不會用到。 它可以查詢資料庫的表和表的中繼資料。另外,它提供了查詢和管理異步操作的功能。

RepositoryService

擷取方式:

任何與“靜态”資源有關的資料(比如流程定義)都可以通過 RepositoryService

通路。 從概念上講,是以靜态資料都是Activiti的資源内容。

部署流程檔案:

當檔案部署成功後,會操作資料庫中的這三張表

act_re_deployment  (部署資訊表) 

存放流程定義的别名和部署時間

act_re_procdef(流程定義資料表)

存放流程定義的資訊,每部署一個新的流程定義都會在這張表中增加一條記錄。

如果當KEY相同 也就是 bpmn流程檔案的 ID 相同是  增加的記錄裡面的版本會更新一個版本

act_ge_bytearray (資源檔案表)

存放部署後的流程檔案

檢視流程定義資訊:

運作結果:

顯示圖檔:

通過 repositoryService檢視流程定義資訊,并且擷取DEPLOYMENT_ID到  act_ge_bytearray 查詢到 資源檔案名

通過資源檔案名和deploymentId擷取流并輸出到檔案中

在E盤下檢視 生成的照片

删除流程定義:

RuntimeService

啟動一個流程執行個體:

當一個流程執行個體啟動後,會在  act_ru_execution 

表中插入一條記錄,如果是使用者任務節點,同時也會在

act_ru_task

表中插入一條記錄

查詢流程狀态:

在整個流程執行的過程中,流程ID 都是 唯一不變的,當流程結束後 流程記錄就會在 

act_ru_execution

表中被删除,存入到曆史表

設定和擷取流程變量:

流程變量所支援的類型

設定的流程變量會存入到 act_ru_variable 表

act_ru_variable 表  的BYTEARRAY_ID_對應的是 act_ge_bytearray 如果是複雜類型的資料  會存入二進制字段中

TaskService

檢視個人任務:

運作結果

除了個人任務 還有 組任務

辦理任務:

taskService 和 runtimeService 一樣都是可以設定流程變量的

HistoryService

查詢曆史任務:

結果:

主要是查詢

act_hi_taskinst

表中的資料

主要是查詢 act_hi_procinst 表中的資料

擷取曆史流程變量:

act_hi_varinst

查詢曆史活動資訊:

這幾個是最常用的幾個服務.

本文轉自二郎三郎部落格園部落格,原文連結:http://www.cnblogs.com/haore147/p/5213176.html,如需轉載請自行聯系原作者