perf: 清流所有流程接口性能优化
This commit is contained in:
+18
-14
@@ -30,6 +30,7 @@ import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
|||||||
import org.activiti.engine.ProcessEngine;
|
import org.activiti.engine.ProcessEngine;
|
||||||
import org.activiti.engine.ProcessEngines;
|
import org.activiti.engine.ProcessEngines;
|
||||||
import org.activiti.engine.RepositoryService;
|
import org.activiti.engine.RepositoryService;
|
||||||
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.delegate.BaseExecutionListener;
|
import org.activiti.engine.delegate.BaseExecutionListener;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
import org.activiti.engine.repository.*;
|
import org.activiti.engine.repository.*;
|
||||||
@@ -446,25 +447,28 @@ public class ModelerController {
|
|||||||
// 获取流程引擎
|
// 获取流程引擎
|
||||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||||
|
|
||||||
// 获取RuntimeService并删除所有流程实例
|
// 获取RuntimeService并批量删除所有流程实例
|
||||||
List<ProcessInstance> instances = processEngine.getRuntimeService()
|
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||||
.createProcessInstanceQuery()
|
List<String> instanceIds = runtimeService.createProcessInstanceQuery().list()
|
||||||
.list();
|
.stream()
|
||||||
for (ProcessInstance instance : instances) {
|
.map(ProcessInstance::getId)
|
||||||
processEngine.getRuntimeService()
|
.collect(Collectors.toList());
|
||||||
.deleteProcessInstance(instance.getId(), "Cleanup all instances");
|
for (String id : instanceIds) {
|
||||||
|
runtimeService.deleteProcessInstance(id, "Cleanup all instances");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取RepositoryService并删除所有流程
|
// 获取RepositoryService并批量删除所有流程
|
||||||
List<ProcessDefinition> definitions = processEngine.getRepositoryService()
|
RepositoryService repositoryService = processEngine.getRepositoryService();
|
||||||
.createProcessDefinitionQuery()
|
List<String> deploymentIds = repositoryService.createProcessDefinitionQuery().list()
|
||||||
.list();
|
.stream()
|
||||||
for (ProcessDefinition definition : definitions) {
|
.map(ProcessDefinition::getDeploymentId)
|
||||||
processEngine.getRepositoryService()
|
.collect(Collectors.toList());
|
||||||
.deleteDeployment(definition.getDeploymentId(), true);
|
for (String id : deploymentIds) {
|
||||||
|
repositoryService.deleteDeployment(id, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user