From 9d8b9fabbea813e980d7f8e67ee633a55d205955 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 16 一月 2025 11:50:19 +0800
Subject: [PATCH] update 优化 ws模块替换session的时候关闭session连接
---
ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
index 368801c..9c2372b 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
@@ -2,6 +2,7 @@
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketSession;
import java.util.Map;
@@ -25,6 +26,7 @@
* @param session 瑕佹坊鍔犵殑WebSocket浼氳瘽
*/
public static void addSession(Long sessionKey, WebSocketSession session) {
+ removeSession(sessionKey);
USER_SESSION_MAP.put(sessionKey, session);
}
@@ -34,8 +36,10 @@
* @param sessionKey 瑕佺Щ闄ょ殑浼氳瘽閿�
*/
public static void removeSession(Long sessionKey) {
- if (USER_SESSION_MAP.containsKey(sessionKey)) {
- USER_SESSION_MAP.remove(sessionKey);
+ WebSocketSession session = USER_SESSION_MAP.remove(sessionKey);
+ try {
+ session.close(CloseStatus.BAD_DATA);
+ } catch (Exception ignored) {
}
}
--
Gitblit v1.9.3