Activiti 核心API 簡介
1、ProcessEngine
說明:
1) 在Activiti中最核心的類,其他的類都是由他而來。
2) 產生方式:
ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
呼叫ProcessEngines的getDefaultProceeEngine方法時會自動載入classpath下名為activiti.cfg.xml檔案。
生成資料庫表中用到的兩種方式:
http://blog.csdn.net/jiankunking/article/details/52347664
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 Tijs Rademakers
*/
public interface ProcessInstance extends Execution {
從原始碼中可以看出ProcessInstance就是Execution。但在現實意義上有所區別:
在單線流程中,如上圖的貸款流程,ProcessInstance與Execution是一致的。
這個例子有一個特點:wire money(匯錢)和archive(存檔)是併發執行的。 這個時候,匯流排路代表ProcessInstance,而分線路中每個活動代表Execution。
總結:
一個流程中,執行物件可以存在多個,但是流程例項只能有一個。
當流程按照規則只執行一次的時候,那麼流程例項就是執行物件。
本文部分內容整理自itcast講義,在此表示感謝。
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
相關文章
- activiti的簡介
- Activiti工作流-簡介篇
- 核心簡介
- react draft api 簡介ReactRaftAPI
- reCAPTCHA Android API 簡介APTAndroidAPI
- 函式式API簡介函式API
- 核心探測工具systemtap簡介
- 作業系統核心簡介作業系統
- Linux核心2.6簡介(轉)Linux
- Web API的簡史介紹WebAPI
- 美顏api全功能簡介API
- windows API簡介(系列1) (轉)WindowsAPI
- Activiti就是這麼簡單
- Linux核心啟動流程(簡介)Linux
- Solaris核心proc目錄簡介(轉)
- VFS簡介和核心操作函式函式
- ECMAScript5.1及其新增API簡介API
- WebSphere Service Registry and Repository API 簡介WebAPI
- WindowsNT安全性API簡介(轉)WindowsAPI
- 【Linux核心設計與實現】Linux核心簡介Linux
- LINUX核心及升級簡介(轉)Linux
- 什麼是JPA?Java Persistence API簡介JavaAPI
- 常用Win32 API函式簡介Win32API函式
- Activiti核心架構之職責鏈與命令模式架構模式
- 瀏覽器核心的種類簡單介紹瀏覽器
- Spring的核心機制依賴注入簡介Spring依賴注入
- HTML5語音合成Speech Synthesis API簡介HTMLAPI
- Storage API簡介和儲存限制與逐出策略API
- syslog簡介——系統日誌寫入APIAPI
- windows API簡介--使用者介面(系列2) (轉)WindowsAPI
- 01 . 容器編排簡介及Kubernetes核心概念
- 『簡書API:jianshu 基於golang -- 用法介紹 (2)』APIGolang
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- HarmonyOS:Node-API實現跨語言互動(1)Node-API簡介API
- activiti
- JAVA核心API學習JavaAPI
- linux使用者api和核心apiLinuxAPI
- 巨杉核心筆記(一)| SequoiaDB 會話(session)簡介筆記會話Session