單個流程實例的掛起與激活和全部流程實例的掛起與激活又有什麼區別呢
單個流程實例的掛起與激活
步驟:
- 獲取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激活