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)。