@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { if (logger.isDebugEnabled()) { logger.debug(session + " closed with " + closeStatus); } super.afterConnectionClosed(session, closeStatus); }
@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { if (logger.isDebugEnabled()) { logger.debug(session + " closed with " + closeStatus); } super.afterConnectionClosed(session, closeStatus); }
@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { if (logger.isDebugEnabled()) { logger.debug(session + " closed with " + closeStatus); } super.afterConnectionClosed(session, closeStatus); }
@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { disconnectFromProxiedTarget(session); super.afterConnectionClosed(session, closeStatus); }
@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { String principalId = (String) session.getAttributes().get("principalId"); String sessionId = session.getId(); // 客户端与服务器端建立连接后,此处记录谁下线了 logger.info("WebSocket Offline, Principal Id[{}], Session Id[{}]", principalId, sessionId); SocketSessionRegistry.unRegisterSessionId(principalId, sessionId); super.afterConnectionClosed(session, closeStatus); } }
@Override public void afterConnectionClosed(WebSocketSession webSocketSession, CloseStatus closeStatus) throws Exception { Principal principal = webSocketSession.getPrincipal(); if (principal != null) { SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor .create(SimpMessageType.MESSAGE); accessor.setSessionId(webSocketSession.getId()); publishEvent(new SessionDisconnectEvent(this, MessageBuilder.createMessage(new byte[0], accessor.getMessageHeaders()), webSocketSession.getId(), closeStatus, principal)); } super.afterConnectionClosed(webSocketSession, closeStatus); }