工做流-Activiti核心API介紹

1、ProcessEngine。數據庫

     談到activiti核心的API那確定是ProcessEngine類,其餘全部的類都是由他而來。併發

     如何建立:ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();ui

查看getDefaultProcessEngine()就能夠發現activiti會默認加載classpath路徑下activiti.cfg.xml文件。spa

activiti.cfg.xlm文件配置以下:orm

如上圖可見此配置是jdbc配置信息,操做activiti的23張表。xml

查看org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration類可見activity默認支持h2數據庫。對象

一、RepositoryService:管理流程部署及定義。資源

     1)該類是activiti的倉庫服務類,倉庫及指流程定義文檔的兩個文件:.bpmn、.png文檔

     2)如何建立:RespositoryService respositoryService = processEngine.getRepositoryService();部署

     3)該類能夠建立出一個DeploymentBuilder對象,用於部署流程。Deployment deployment = respositoryService.createDeployment().deploy();

     4)刪除流程定義:respositoryService.deleteDeployment(deploymentId);

二、RuntimeService:執行管理,包括啓動,查詢,刪除流程定義。

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

     2)如何建立:processEngine.getRuntimeService();

     

三、TaskService:任務管理。

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

     2)如何建立:processEngine.getTaskService();


四、HistoryService:歷史查詢,包含流程變量查詢,流程查詢,流程執行對象查詢。

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

     2)如何建立:processEngine.getHistoryService();

五、IdentityService:組織機構管理。

     如何建立:processEngine.getIdentityService ();

六、FormService:任務表單管理。

     如何建立:processEngine.getFormService();

七、ManagementService。

     如何建立:processEngine.getManagementService();

2、ProcessDefinition。

     流程定義對象,能夠從這個類中獲取資源文件等等。

3、ProcessInstance。

    表明流程定義的執行實例,一個流程實例包含這一個流程上面的全部的節點,那麼咱們能夠經過這個類獲取到整個流程中當前全部信息,一個流程實例表示一個流程從開始到結束的最大流程分支,即一個流程只有一個流程實例。

4、Execution。

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

   

     查看源代碼便可發現,ProcessInstance集成了Execution。

在單線流程中Execution即爲ProcessInstance,可是在併發狀況,即有分支流程的狀況下,每一條流程就有一個Execution了。

總結:

     * 一個流程中,流程執行對象(Execution)能夠有多個,可是流程實例對象(ProcessInstance)只能有一個。

     * 當流程按照流程定義的規則只執行一次的時候,流程執行對象(Execution)即爲流程實例對象(ProcessInstance)。

相關文章
相關標籤/搜索