im调整sesion,解决一次性清除session问题

This commit is contained in:
liyj 2025-11-20 11:34:33 +08:00
parent 92e5ccdff9
commit 808649c2ec

View File

@ -41,9 +41,9 @@ public class LocalSessionManager {
if (userId == null || session == null) { if (userId == null || session == null) {
return; return;
} }
userSessions.computeIfPresent(userId, (key, sessions) -> { userSessions.computeIfPresent(userId, (key, sessions) -> {
sessions.remove(session); sessions.removeIf(webSocketSession ->
webSocketSession.getId().equals(session.getId()));
return sessions.isEmpty() ? null : sessions; return sessions.isEmpty() ? null : sessions;
}); });
} }
@ -112,13 +112,11 @@ public class LocalSessionManager {
* 移除群组会话 * 移除群组会话
*/ */
public void removeGroupSession(String groupId, WebSocketSession session) { public void removeGroupSession(String groupId, WebSocketSession session) {
List<WebSocketSession> sessions = groupSessions.get(groupId); groupSessions.computeIfPresent(groupId, (key, gropSession) -> {
if (sessions != null) { gropSession.removeIf(webSocketSession ->
sessions.remove(session); webSocketSession.getId().equals(session.getId()));
if (sessions.isEmpty()) { return gropSession.isEmpty() ? null : gropSession;
groupSessions.remove(groupId); });
}
}
} }
/** /**