一. 問題:
如何啓動一個流程實例?
二. 詳細
針對該流程,啓動一個流程表示發起一個新的請假申請單,這就相當於 java類與 java 對象的關
系,類定義好後需要 new創建一個對象使用,當然可以 new 多個對象。對於請假申請流程,張三發
起一個請假申請單需要啓動一個流程實例,請假申請單發起一個請假單也需要啓動一個流程實例。
主要code如下:
/**
* 如何啓動一個流程?
*/
@Test
public void startProcessInstance() {
// 1. 創建ProcessEngineConfiguration
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// 2. 創建ProcessEngine對象
ProcessEngine processEngine = configuration.buildProcessEngine();
// 獲取RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 更加流程定義的key 啓動流程
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_1");
System.out.println("流程定義id:" + processInstance.getProcessDefinitionId());
System.out.println("流程實例id:" + processInstance.getId());
System.out.println("當前獲得id:" + processInstance.getActivityId());
}
注意: key是需要去庫裏進行找到或通過Java代碼查詢獲得
啓動實例之後的運行結果如下:
三. 小結
通過RuntimeService即可實現對 .bpmn 文件的部署,流程定義部署在 activiti後就可以通過工作流管理業務流程了,也就是說上邊
部署的請假申請流程可以使用了。