Merge pull request #2130 from dataease/pr@dev@fix_websocket_online

fix: websocket优化
This commit is contained in:
fit2cloud-chenyw 2022-04-18 11:21:36 +08:00 committed by GitHub
commit 39dcf482be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,6 +6,8 @@ import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.WebSocketHandlerDecorator;
import java.util.Optional;
public class DeWebSocketHandlerDecorator extends WebSocketHandlerDecorator {
@ -16,17 +18,22 @@ public class DeWebSocketHandlerDecorator extends WebSocketHandlerDecorator {
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
String name = session.getPrincipal().getName();
Long userId = Long.parseLong(name);
WsUtil.onLine(userId);
Optional.ofNullable(session.getPrincipal()).ifPresent(principal -> {
String name = principal.getName();
Long userId = Long.parseLong(name);
WsUtil.onLine(userId);
});
super.afterConnectionEstablished(session);
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
String name = session.getPrincipal().getName();
Long userId = Long.parseLong(name);
WsUtil.offLine(userId);
Optional.ofNullable(session.getPrincipal()).ifPresent(principal -> {
String name = principal.getName();
Long userId = Long.parseLong(name);
WsUtil.offLine(userId);
});
super.afterConnectionClosed(session, closeStatus);
}