我正在尝试用侦听器捕获SessionDisconnectEvent事件:
@Component
public class WebSocketDisconnectListener implements ApplicationListener {
@Override
@EventListener
public void onApplicationEvent(SessionDisconnectEvent event) {
Principal principal = event.getUser();
logger.info("websocket disconnected {}, user {}", event, principal);
if (principal != null) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
但本金始终为空。所以我发现SessionDisconnectEvent有一个名为 的事件sessionId,但是我该如何使用呢sessionId?
哪里可以获得会议或校长?
尝试这样。
public void onApplicationEvent(SessionDisconnectEvent event) {
StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());
log.info("Disconnect event [sessionId: " + sha.getSessionId() + " : close status" + event.getCloseStatus() + "]");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |