流程的啓動:前提是已經完成部署工作
接下來我們啓動流程
流程實例啓動:
- 獲取ProcessEngine對象
- 獲取runtimeService對象
- 創建流程實例,流程定義的key需要知道
創建ActivitiStartInstance類
public class ActivitiStartInstance {
public static void main(String[] args) {
//1:定義ProcessEngine對象,自己封裝的工具類也可以ProcessEngines.getDefaultProcessEngine();
ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
//2:獲取runtimeService對象
RuntimeService runtimeService=processEngine.getRuntimeService();
//3:創建流程實例,流程定義的key需要知道
ProcessInstance processInstance=runtimeService.startProcessInstanceById("day:1:3");
//4:輸出實例的相關信息
System.out.println("流程部署的ID:"+processInstance.getDeploymentId());
System.out.println("流程定義的ID:"+processInstance.getProcessDefinitionId());
System.out.println("流程實例的ID:"+processInstance.getId());
}
}
運行結果
流程部署的ID:null
流程定義的ID:day:1:3
流程實例的ID:2501
我們看下數據庫被影響的表
- act_hi_actinst 已完成的活動信息
- act_hi_identitylink 參與者信息
- act_hi_procinst 流程實例
- act_hi_taskinst 任務實例
- act_ru_execution 執行表
- act_ru_identitylink 參與者信息
- act_ru_task 當前任務
act_hi_actinst表:已完成startEvent工作,現在輪到xiaoyi的任務,因爲還沒有完成,所以結束時間爲null
act_hi_identitylink表:參與者xiaoyi
act_hi_procinst表:流程實例
act_hi_taskinst表:已經完成開始工作,現在輪到xiaoyi工作
act_ru_execution表:執行表,流程結束後會自動清空
act_ru_identitylink表:實例參與者表,流程結束後會自動清空
act_ru_task表:當前輪到xiaoyi執行吃飯的任務,xiaoyi執行完後會自動被覆蓋掉,流程結束後自動清空