单个流程实例的挂起与激活和全部流程实例的挂起与激活又有什么区别呢
单个流程实例的挂起与激活
步骤:
- 获取processEngine对象
- 得到runtimeService对象(区别)
- 查询流程实例对象(区别)
- 得到当前流程定义的实例是否都为暂停状态
- 判断
- 进行激活/进行挂起
创建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激活