Activiti7流程操作

發佈流程

// bpmn輸入流
// 定義zip輸入流
InputStream inputStream = this
.getClass()
.getClassLoader()
.getResourceAsStream("***.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
// 獲取repositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 流程部署
Deployment deployment = repositoryService.createDeployment()
						.addZipInputStream(zipInputStream)
						.deploy();

所執行操作

流程定義部署後操作 activiti 數據表如下:
act_re_deployment :流程定義部署表,記錄流程部署信息
act_re_procdef :流程定義表,記錄流程定義信息
act_ge_bytearray :資源表

說明:
act_re_deployment 和 act_re_procdef 一對多關係,一次部署在流程部署表生成一條記錄,但一次部署可以部署多個流程定義,每個流程定義在流程定義表生成一條記錄。每一個流程定義在act_ge_bytearray 會存在兩個資源記錄,bpmn 和 png。

啓動流程

// 獲取RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 根據流程定義key啓動流程
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("***");
//或者使用id啓動
ProcessInstance processInstance = runtimeService.startProcessInstanceById("***");

所執行操作

act_ru_execution : 流程實例執行表,記錄當前流程實例的執行情況

說明:
流程實例執行,如果當前只有一個分支時,一個流程實例只有一條記錄且執行表的主鍵 id 和流程實例 id 相同,如果當前有多個分支正在運行則該執行表中有多條記錄,存在執行表的主鍵和流程實例id 不相同的記錄。不論當前有幾個分支總會有一條記錄的執行表的主鍵和流程實例 id 相同一個流程實例運行完成,此表中與流程實例相關的記錄刪除。

act_ru_task : 任務執行表,記錄當前執行的任務

說明:啓動流程實例,流程當前執行到第一個任務結點,此表會插入一條記錄表示當前任務的執行情況,如果任務完成則記錄刪除。

act_ru_identitylink : 任務參與者,記錄當前參與任務的用戶或組
act_hi_procinst : 流程實例歷史表,流程實例啓動,會在此表插入一條記錄,流程實例運行完成記錄也不會刪除。
act_hi_taskinst : 任務歷史表,記錄所有任務

開始一個任務,不僅在 act_ru_task 表插入記錄,也會在歷史任務表插入一條記錄,任務歷史表的主鍵就是任務 id,任務完成此表記錄不刪除。

act_hi_actinst : 活動歷史表,記錄所有活動

活動包括任務,所以此表中不僅記錄了任務,還記錄了流程執行過程的其它活動,比如開始事件、結束事件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章