From 02447a79a46d9402b8ee9fa5ea78b46b3772b456 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Mon, 26 May 2025 20:04:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/manager/impl/MemoryLogManager.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java index 73740453..0ba973fd 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/manager/impl/MemoryLogManager.java @@ -9,6 +9,7 @@ import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.IOException; @@ -47,8 +48,9 @@ public class MemoryLogManager implements LoggerManager { log.info("当前请求ip:{}",ipAddr); log.info("当前用户id:{}",loginUserId); log.info("当前taskId:{}",loginUserId); - List taskIdSSEList = taskIdSSEMap.getOrDefault(taskId, new ArrayList<>(1)); + List taskIdSSEList = taskIdSSEMap.computeIfAbsent(taskId, k->new ArrayList<>(1)); taskIdSSEList.add(emitter); + return emitter; } @@ -88,6 +90,16 @@ public class MemoryLogManager implements LoggerManager { } } logCache.append(logContent); + List sseEmitters = taskIdSSEMap.get(taskId); + if (!CollectionUtils.isEmpty(sseEmitters)) { + for (SseEmitter sseEmitter : sseEmitters) { + try { + sseEmitter.send(logContent); + } catch (IOException e) { + log.error("",e); + } + } + } } @Override