Activiti 核心 API


 

核心API

 .1 ProcessEngine

說明:

1) Activiti中最核心的類,其他的類都是由他而來。

2) 產生方式:

 

在前面看到了兩種創建ProcessEngine(流程引擎)的方式,而這里要簡化很多,調用ProcessEnginesgetDefaultProceeEngine方法時會自動加載classpath下名為activiti.cfg.xml文件。

3) 可以產生RepositoryService

 

4) 可以產生RuntimeService

 

5) 可以產生TaskService

 

各個Service的作用:

RepositoryService

管理流程定義

RuntimeService

執行管理,包括啟動、推進、刪除流程實例等操作

TaskService

任務管理

HistoryService

歷史管理(執行完的數據的管理)

IdentityService

組織機構管理

FormService

一個可選服務,任務表單管理

ManagerService

使用Activiti的定制環境中基本上不會用到。 它可以查詢數據庫的表

和表的元數據。另外,它提供了查詢和管理異步操作的功能。

.2RepositoryService

Activiti的倉庫服務類。所謂的倉庫指流程定義文檔的兩個文件:bpmn文件和流程圖片。

1) 產生方式

 

2) 可以產生DeploymentBuilder,用來定義流程部署的相關參數

 

3) 刪除流程定義

 

.3RuntimeService

activiti的流程執行服務類。可以從這個服務類中獲取很多關於流程執行相關的信息。

.4TaskService

activiti的任務服務類。可以從這個類中獲取任務的信息。

.5HistoryService

activiti的查詢歷史信息的類。在一個流程執行完成后,這個對象為我們提供查詢歷史信息。

.6ProcessDefinition

流程定義類。可以從這里獲得資源文件等。

.7ProcessInstance

代表流程定義的執行實例。如范冰冰請了一天的假,她就必須發出一個流程實例的申請。一個流程實例包括了所有的運行節點。我們可以利用這個對象來了解當前流程實例的進度等信息。流程實例就表示一個流程從開始到結束的最大的流程分支,即一個流程中流程實例只有一個。

.8Execution

Activiti用這個對象去描述流程執行的每一個節點。在沒有並發的情況下,Execution就是同ProcessInstance流程按照流程定義的規則執行一次的過程,就可以表示執行對象Execution

如圖為ProcessInstance的源代碼:

 

 

從源代碼中可以看出ProcessInstance就是Execution。但在現實意義上有所區別:

 

 

在單線流程中,如上圖的貸款流程,ProcessInstance與Execution是一致的。

 

 

這個例子有一個特點:wire money(匯錢)和archive(存檔)是並發執行的。 這個時候,總線路代表ProcessInstance,而分線路中每個活動代表Execution。

總結:

* 一個流程中,執行對象可以存在多個,但是流程實例只能有一個。

* 當流程按照規則只執行一次的時候,那么流程實例就是執行對象。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM