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 |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 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 c6abdc8..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
@@ -16,7 +16,14 @@
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class SseMessageUtils {
 
-    private final static SseEmitterManager MANAGER = SpringUtils.getBean(SseEmitterManager.class);
+    private final static Boolean SSE_ENABLE = SpringUtils.getProperty("sse.enabled", Boolean.class, true);
+    private static SseEmitterManager MANAGER;
+
+    static {
+        if (isEnable() && MANAGER == null) {
+            MANAGER = SpringUtils.getBean(SseEmitterManager.class);
+        }
+    }
 
     /**
      * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�佹秷鎭�
@@ -25,6 +32,9 @@
      * @param message 瑕佸彂閫佺殑娑堟伅鍐呭
      */
     public static void sendMessage(Long userId, String message) {
+        if (!isEnable()) {
+            return;
+        }
         MANAGER.sendMessage(userId, message);
     }
 
@@ -34,6 +44,9 @@
      * @param message 瑕佸彂閫佺殑娑堟伅鍐呭
      */
     public static void sendMessage(String message) {
+        if (!isEnable()) {
+            return;
+        }
         MANAGER.sendMessage(message);
     }
 
@@ -43,6 +56,9 @@
      * @param sseMessageDto 瑕佸彂甯冪殑SSE娑堟伅瀵硅薄
      */
     public static void publishMessage(SseMessageDto sseMessageDto) {
+        if (!isEnable()) {
+            return;
+        }
         MANAGER.publishMessage(sseMessageDto);
     }
 
@@ -52,7 +68,17 @@
      * @param message 瑕佸彂甯冪殑娑堟伅鍐呭
      */
     public static void publishAll(String message) {
+        if (!isEnable()) {
+            return;
+        }
         MANAGER.publishAll(message);
     }
 
+    /**
+     * 鏄惁寮�鍚�
+     */
+    public static Boolean isEnable() {
+        return SSE_ENABLE;
+    }
+
 }

--
Gitblit v1.9.3