I'm trying to catch SessionDisconnectEvent event with listener:
@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) {
}
}
}
But the principal is always null. So I found that SessionDisconnectEvent has an event named sessionId, But how could I use the sessionId?
Where to get the session or principal?