From f1208474f771a1c233d7425c8ed13fbaa0d521ac Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 12 三月 2025 09:35:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/5.X' into 5.X

---
 ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java
index ff79a15..5861034 100644
--- a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java
+++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java
@@ -17,7 +17,13 @@
 public class SseMessageUtils {
 
     private final static Boolean SSE_ENABLE = SpringUtils.getProperty("sse.enabled", Boolean.class, true);
-    private final static SseEmitterManager MANAGER = SpringUtils.getBean(SseEmitterManager.class);
+    private static SseEmitterManager MANAGER;
+
+    static {
+        if (isEnable() && MANAGER == null) {
+            MANAGER = SpringUtils.getBean(SseEmitterManager.class);
+        }
+    }
 
     /**
      * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�佹秷鎭�
@@ -26,7 +32,7 @@
      * @param message 瑕佸彂閫佺殑娑堟伅鍐呭
      */
     public static void sendMessage(Long userId, String message) {
-        if (SSE_ENABLE) {
+        if (!isEnable()) {
             return;
         }
         MANAGER.sendMessage(userId, message);
@@ -38,7 +44,7 @@
      * @param message 瑕佸彂閫佺殑娑堟伅鍐呭
      */
     public static void sendMessage(String message) {
-        if (SSE_ENABLE) {
+        if (!isEnable()) {
             return;
         }
         MANAGER.sendMessage(message);
@@ -50,7 +56,7 @@
      * @param sseMessageDto 瑕佸彂甯冪殑SSE娑堟伅瀵硅薄
      */
     public static void publishMessage(SseMessageDto sseMessageDto) {
-        if (SSE_ENABLE) {
+        if (!isEnable()) {
             return;
         }
         MANAGER.publishMessage(sseMessageDto);
@@ -62,10 +68,17 @@
      * @param message 瑕佸彂甯冪殑娑堟伅鍐呭
      */
     public static void publishAll(String message) {
-        if (SSE_ENABLE) {
+        if (!isEnable()) {
             return;
         }
         MANAGER.publishAll(message);
     }
 
+    /**
+     * 鏄惁寮�鍚�
+     */
+    public static Boolean isEnable() {
+        return SSE_ENABLE;
+    }
+
 }

--
Gitblit v1.9.3