Activiti(十)全部流程實例的掛起與激活

當我們的任務還沒處理完的時候有其他事情要忙,需要先掛起,忙完了來處理需要激活,那麼要怎麼實現呢


全部流程實例的掛起與激活


步驟:

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

創建SuspendProcessInstanceAll

public class SuspendProcessInstanceAll{
    public static void main(String[] args) {
        //1:獲取processEngine對象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
       //2:得到repositoryService對象
        RepositoryService repositoryService=processEngine.getRepositoryService();
        //3:查詢流程實例
        ProcessDefinition processDefinition=repositoryService.createProcessDefinitionQuery()
                .processDefinitionKey("day").singleResult();
        //4:得到當前流程定義的實例是否都是爲暫停(掛起)狀態
        boolean suspended=processDefinition.isSuspended();
        //5:判斷suspended是爲激活還是掛起狀態
        String processDefinitionId=processDefinition.getId();
        if(suspended){
            //說明是掛起,就可以激活操作
            repositoryService.activateProcessDefinitionById(processDefinitionId,true,null);
            System.out.println(processDefinitionId+"激活");
        }else{
            //說明是激活,就可以掛起操作
            repositoryService.suspendProcessDefinitionById(processDefinitionId,true,null);
            System.out.println(processDefinitionId+"掛起");
        }
    }

}

運行結果:

第一次

day:1:3掛起

第二次

day:1:3激活


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



 

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