天天看點

Activiti 核心API 簡介

1、ProcessEngine

說明:

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

2) 産生方式:

ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();      

調用ProcessEngines的getDefaultProceeEngine方法時會自動加載classpath下名為activiti.cfg.xml檔案。

生成資料庫表中用到的兩種方式: ​​

3) 可以産生RepositoryService

RepositoryService repositoryService=processEngine.getRepositoryService();      

4) 可以産生RuntimeService

RuntimeService runtimeService=processEngine.getRuntimeService();      

5) 可以産生TaskService

TaskService taskService=processEngine.getTaskService();      

各個Service的作用:

名稱 作用
RepositoryService 管理流程定義
RuntimeService 執行管理,包括啟動、推進、删除流程執行個體等操作
TaskService 任務管理
HistoryService 曆史管理(執行完的資料的管理)
IdentityService 組織機構管理
FormService 一個可選服務,任務表單管理

2、RepositoryService

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

1) 産生方式:

RepositoryService repositoryService=processEngine.getRepositoryService();      

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

DeploymentBuilder deploymentBuilder=repositoryService.createDeployment();      

3) 删除流程定義

repositoryService.deleteDeployment(deploymentId);      

3、RuntimeService

是activiti的流程執行服務類。可以從這個服務類中擷取很多關于流程執行相關的資訊。

4、TaskService

是activiti的任務服務類。可以從這個類中擷取任務的資訊。

5、HistoryService

是activiti的查詢曆史資訊的類。在一個流程執行完成後,這個對象為我們提供查詢曆史資訊。

6、ProcessDefinition

流程定義類。可以從這裡獲得資源檔案等。

7、ProcessInstance

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

8、Execution

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

如圖為ProcessInstance的源代碼:      
/** Represents one execution of a  {@link ProcessDefinition}.
 * 
 * @author Tom Baeyens
 * @author Joram Barrez
 * @author Daniel Meyer
 * @author
public interface ProcessInstance extends Execution      

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

Activiti 核心API 簡介

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

Activiti 核心API 簡介

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

總結:

繼續閱讀