From 7103f6d893102ab3da77347817841517bdde00d6 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 26 Oct 2023 17:22:09 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=B8=85=E6=B5=81=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=8E=A5=E5=8F=A3=E6=80=A7=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ModelerController.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java index 2ba48d76..ff406f33 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java @@ -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 instances = processEngine.getRuntimeService() - .createProcessInstanceQuery() - .list(); - for (ProcessInstance instance : instances) { - processEngine.getRuntimeService() - .deleteProcessInstance(instance.getId(), "Cleanup all instances"); + // 获取RuntimeService并批量删除所有流程实例 + RuntimeService runtimeService = processEngine.getRuntimeService(); + List instanceIds = runtimeService.createProcessInstanceQuery().list() + .stream() + .map(ProcessInstance::getId) + .collect(Collectors.toList()); + for (String id : instanceIds) { + runtimeService.deleteProcessInstance(id, "Cleanup all instances"); } - // 获取RepositoryService并删除所有流程 - List definitions = processEngine.getRepositoryService() - .createProcessDefinitionQuery() - .list(); - for (ProcessDefinition definition : definitions) { - processEngine.getRepositoryService() - .deleteDeployment(definition.getDeploymentId(), true); + // 获取RepositoryService并批量删除所有流程 + RepositoryService repositoryService = processEngine.getRepositoryService(); + List deploymentIds = repositoryService.createProcessDefinitionQuery().list() + .stream() + .map(ProcessDefinition::getDeploymentId) + .collect(Collectors.toList()); + for (String id : deploymentIds) { + repositoryService.deleteDeployment(id, true); } } + }