im问题修复-获取不到用户
This commit is contained in:
parent
e97416feeb
commit
53cc5a0d76
@ -51,7 +51,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
|
||||
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
|
||||
logger.debug("connect to the websocket success......");
|
||||
|
||||
String loginUserId = (String) session.getAttributes().get(Constants.WEBSOCKET_LOGINNAME);
|
||||
String loginUserId = String.valueOf(session.getAttributes().get("user_id")) ;
|
||||
String sessionId = session.getId();
|
||||
|
||||
// 存储到本地会话管理
|
||||
@ -63,7 +63,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
|
||||
|
||||
// 注册到分布式会话服务
|
||||
Map<String, Object> attributes = new HashMap<>();
|
||||
attributes.put("user_id", session.getAttributes().get("user_id"));
|
||||
attributes.put("user_id", String.valueOf(session.getAttributes().get("user_id")));
|
||||
attributes.put("loginName", loginUserId);
|
||||
distributedSessionService.registerUserSession(loginUserId, sessionId, attributes);
|
||||
|
||||
@ -198,11 +198,14 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
|
||||
* 清理会话资源
|
||||
*/
|
||||
private void cleanupSession(WebSocketSession session) {
|
||||
String loginUserId = (String) session.getAttributes().get(Constants.WEBSOCKET_LOGINNAME);
|
||||
String loginUserId = String.valueOf(session.getAttributes().get("user_id")) ;
|
||||
String sessionId = session.getId();
|
||||
String groupId = (String) session.getAttributes().get(Constants.WEBSOCKET_GROUP_KEY);
|
||||
|
||||
// 从本地管理移除
|
||||
if(localSessionManager.getUserSessions()==null){
|
||||
localSessionManager.setUserSessions(new ConcurrentHashMap<>());
|
||||
}
|
||||
localSessionManager.removeUserSession(loginUserId, session);
|
||||
if (groupId != null) {
|
||||
localSessionManager.removeGroupSession(groupId, session);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user