一、挂起全部流程实例
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = engine.getRepositoryService();
//查询流程定义 获取流程定义对象
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey("myevection")
.singleResult();
//获取定义id
String definitionId = processDefinition.getId();
boolean isAble = processDefinition.isSuspended();
if (isAble) {
//激活
repositoryService.activateProcessDefinitionById(definitionId, true, null);
}else {
//挂起
repositoryService.suspendProcessDefinitionById(definitionId, true, null);
}
挂起
repositoryService.suspendProcessDefinitionById(流程定义id, 是否挂起, 挂起时间(可为null));
激活
repositoryService.activateProcessDefinitionById(流程定义id, 是否激活, 激活时间);
二、挂起某一流程实例
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = engine.getRuntimeService();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId("2501")
.singleResult();
//获取定义id
String definitionId = processInstance.getId();
boolean isAble = processInstance.isSuspended();
if (isAble) {
//激活
runtimeService.activateProcessInstanceById(definitionId);
}else {
//挂起
runtimeService.startProcessInstanceById(definitionId);
}
因为是挂起某一个流程实例,需要知道流程实例对象方可挂起
挂起
runtimeService.startProcessInstanceById(流程实例对象id);
激活
runtimeService.activateProcessInstanceById(流程实例对象id);
问题:
如果被挂起的流程实例对象中有未完成的还可操作?
不可操作,需激活后方可继续进行