Activiti(十一)單個流程實例的掛起與激活

單個流程實例的掛起與激活和全部流程實例的掛起與激活又有什麼區別呢


單個流程實例的掛起與激活


步驟:

  1. 獲取processEngine對象
  2. 得到runtimeService對象(區別
  3. 查詢流程實例對象(區別
  4. 得到當前流程定義的實例是否都爲暫停狀態
  5. 判斷
  6. 進行激活/進行掛起

創建SuspendProcessInstanceSingle 

public class SuspendProcessInstanceSingle {
    public static void main(String[] args) {
        //1:獲取processEngine對象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
       //2:得到runtimeService對象
        RuntimeService runtimeService=processEngine.getRuntimeService();
        //3:查詢流程實例對象
        ProcessInstance processInstance =runtimeService.createProcessInstanceQuery()
                .processInstanceId("2501").singleResult();
        //4:得到當前流程定義的實例對象是否爲暫停(掛起)狀態
        boolean suspended=processInstance.isSuspended();
       String processInstanceId=processInstance.getId();
        //5:判斷
        if(suspended){
            //說明是掛起,就可以激活操作
            runtimeService.activateProcessInstanceById(processInstanceId);
            System.out.println(processInstanceId+"激活");
        }else{
            //說明是激活,就可以掛起操作
            runtimeService.suspendProcessInstanceById(processInstanceId);
            System.out.println(processInstanceId+"掛起");
        }
    }
}

運行結果:

第一次

2501掛起

第二次

2501激活

 



原創文章,未經允許禁止盜用



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