当我们的任务还没处理完的时候有其他事情要忙,需要先挂起,忙完了来处理需要激活,那么要怎么实现呢
全部流程实例的挂起与激活
步骤:
- 获取processEngine对象
- 得到repositoryService对象
- 查询流程实例
- 当前流程定义的实例是否都为暂停状态
- 判断
- 进行激活/进行挂起
创建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激活
原创文章,未经允许禁止盗用