From b411baadddcf4919acb5dc8ff34c94f2cfb87ae0 Mon Sep 17 00:00:00 2001 From: theo <971366405@qq.com> Date: Fri, 3 Apr 2026 09:49:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(message):=20=E4=BC=98=E5=8C=96SSE?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E6=B3=A8=E5=86=8C=E8=A1=A8=E7=9A=84=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E5=85=B3=E9=97=AD=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除@PreDestroy注解 - 添加ContextClosedEvent事件监听器 - 使用Spring事件机制替代JSR-250生命周期回调 - 提高容器关闭时SSE连接清理的可靠性 - 增强代码的Spring框架集成一致性 --- .../com/youlai/boot/message/registry/SseSessionRegistry.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/youlai/boot/message/registry/SseSessionRegistry.java b/src/main/java/com/youlai/boot/message/registry/SseSessionRegistry.java index 706f23d7..b0ef1487 100644 --- a/src/main/java/com/youlai/boot/message/registry/SseSessionRegistry.java +++ b/src/main/java/com/youlai/boot/message/registry/SseSessionRegistry.java @@ -1,8 +1,9 @@ package com.youlai.boot.message.registry; import com.youlai.boot.message.dto.OnlineUserDTO; -import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; @@ -198,7 +199,7 @@ public class SseSessionRegistry { /** * 容器关闭时主动断开所有 SSE 连接,避免阻塞应用停止 */ - @PreDestroy + @EventListener(ContextClosedEvent.class) public void destroy() { int count = emitterUserMap.size(); if (count == 0) {