當我們的任務還沒處理完的時候有其他事情要忙,需要先掛起,忙完了來處理需要激活,那麼要怎麼實現呢
全部流程實例的掛起與激活
步驟:
- 獲取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激活
原創文章,未經允許禁止盜用