perf: 清流所有流程接口性能优化

This commit is contained in:
2023-10-26 17:22:09 +08:00
parent 992f44f2d3
commit 7103f6d893
@@ -30,6 +30,7 @@ import org.activiti.editor.language.json.converter.BpmnJsonConverter;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.BaseExecutionListener;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.engine.repository.*;
@@ -446,25 +447,28 @@ public class ModelerController {
// 获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 获取RuntimeService并删除所有流程实例
List<ProcessInstance> instances = processEngine.getRuntimeService()
.createProcessInstanceQuery()
.list();
for (ProcessInstance instance : instances) {
processEngine.getRuntimeService()
.deleteProcessInstance(instance.getId(), "Cleanup all instances");
// 获取RuntimeService并批量删除所有流程实例
RuntimeService runtimeService = processEngine.getRuntimeService();
List<String> instanceIds = runtimeService.createProcessInstanceQuery().list()
.stream()
.map(ProcessInstance::getId)
.collect(Collectors.toList());
for (String id : instanceIds) {
runtimeService.deleteProcessInstance(id, "Cleanup all instances");
}
// 获取RepositoryService并删除所有流程
List<ProcessDefinition> definitions = processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.list();
for (ProcessDefinition definition : definitions) {
processEngine.getRepositoryService()
.deleteDeployment(definition.getDeploymentId(), true);
// 获取RepositoryService并批量删除所有流程
RepositoryService repositoryService = processEngine.getRepositoryService();
List<String> deploymentIds = repositoryService.createProcessDefinitionQuery().list()
.stream()
.map(ProcessDefinition::getDeploymentId)
.collect(Collectors.toList());
for (String id : deploymentIds) {
repositoryService.deleteDeployment(id, true);
}
}
}