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

 



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



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