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?