From 8517587381c170932d6803a93a9d2dd3ec756715 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Mon, 24 Mar 2025 17:04:49 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E4=BD=BF=E7=94=A8BatchR?= =?UTF-8?q?unner=E6=97=B6=EF=BC=8C=E6=94=B6=E9=9B=86=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E4=BD=BF=E7=94=A8=E7=BA=BF=E7=A8=8B=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E5=AE=B9=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1384111640379392]使用BatchRunner时,收集结果需要使用线程安全容器 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1384111640379392 --- .../module/deploy/api/job/CreateMultiDeployJobApi.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/neatlogic/module/deploy/api/job/CreateMultiDeployJobApi.java b/src/main/java/neatlogic/module/deploy/api/job/CreateMultiDeployJobApi.java index aadcad3b..098472ca 100644 --- a/src/main/java/neatlogic/module/deploy/api/job/CreateMultiDeployJobApi.java +++ b/src/main/java/neatlogic/module/deploy/api/job/CreateMultiDeployJobApi.java @@ -51,6 +51,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; /** * @author lvzk @@ -125,6 +127,7 @@ public class CreateMultiDeployJobApi extends PrivateApiComponentBase { throw new ParamIrregularException("appSystemId | appSystemName"); } Long invokeId = deployJobParam.getAppSystemId(); + Queue queue = new ConcurrentLinkedQueue<>(); BatchRunner runner = new BatchRunner<>(); runner.execute(deployJobParam.getModuleList(), 3, (threadIndex, dataIndex, module) -> { if (module != null) { @@ -135,9 +138,9 @@ public class CreateMultiDeployJobApi extends PrivateApiComponentBase { deployJob.setRouteId(invokeId.toString()); try { if (jsonObj.containsKey("triggerType")) { - result.add(deployJobService.createJobAndSchedule(deployJob, module)); + queue.add(deployJobService.createJobAndSchedule(deployJob, module)); } else { - result.add(deployJobService.createJobAndFire(deployJob, module)); + queue.add(deployJobService.createJobAndFire(deployJob, module)); } } catch (Exception ex) { logger.error(ex.getMessage(), ex); @@ -145,11 +148,12 @@ public class CreateMultiDeployJobApi extends PrivateApiComponentBase { resultJson.put("appSystemName", jsonObj.getString("appSystemName")); resultJson.put("appModuleName", jsonObj.getString("appModuleName")); resultJson.put("errorMsg", ex.getMessage()); - result.add(resultJson); + queue.add(resultJson); } } }, "DEPLOY-JOB-MULTI-CREATE"); + result.addAll(queue); return result; } -- Gitee