Activiti工做流(3):activiti核心API

ProcessEngine

說明:併發

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

2) 產生方式:ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();spa

 

在前面看到了兩種建立ProcessEngine(流程引擎)的方式,而這裏要簡化不少,調用ProcessEngines的getDefaultProceeEngine方法時會自動加載classpath下名爲activiti.cfg.xml文件。orm

3)     能夠產生RepositoryServicexml

RepositoryService repositoryService = defaultProcessEngine.getRepositoryService();對象

 

4)     能夠產生RuntimeService圖片

RuntimeService runtimeService = defaultProcessEngine.getRuntimeService();ci

 

5)     能夠產生TaskService資源

TaskService taskService = defaultProcessEngine.getTaskService();文檔

各個Service的做用:

RepositoryService

管理流程定義

RuntimeService

執行管理,包括啓動、推動、刪除流程實例等操做

TaskService

任務管理

HistoryService

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

IdentityService

組織機構管理

FormService

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

ManagerService

 

 

 

RepositoryService

 

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

1)     產生方式

RepositoryService repositoryService = defaultProcessEngine.getRepositoryService();

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

DeploymentBuilder createDeployment = repositoryService.createDeployment();

 

3)     刪除流程定義

repositoryService.deleteDeployment(deploymentId);

 

RuntimeService

 

是activiti的流程執行服務類。能夠從這個服務類中獲取不少關於流程執行相關的信息。

 

 

TaskService

 

是activiti的任務服務類。能夠從這個類中獲取任務的信息。

 

 

HistoryService

 

是activiti的查詢歷史信息的類。在一個流程執行完成後,這個對象爲咱們提供查詢歷史信息。

 

ProcessDefinition

 

流程定義類。能夠從這裏得到資源文件等。

 

 

ProcessInstance

 

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

 

 

Execution

 

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

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

在單線流程中,ProcessInstance與Execution是一致的。

而在併發執行時候,總線路表明ProcessInstance,而分線路中每一個活動表明Execution。

 

總結:

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

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

 

第三篇完結。

 

    • 郵箱:
相關文章
相關標籤/搜索