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激活


原创文章,未经允许禁止盗用



 

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