В своем приложении я использую STOMP через WebSocket для связи между микросервисами, я пытаюсь реализовать прослушиватель событий отключения сеанса для восстановления соединения между микросервисами. Согласно документации Spring, SessionDisconnectEvent
должен быть опубликован после окончания сессии STOMP. Вот как я пытался поймать событие:
@Component
public class SessionDisconnectListener implements ApplicationListener<SessionDisconnectEvent> {
@EventListener
@Override
public void onApplicationEvent(SessionDisconnectEvent applicationEvent) {
System.out.println("SESSION " + applicationEvent.getSessionId() + " DISCONNECTED");
}
}
Я вижу в своем приложении, что статус сеанса изменяется с подключенного на отключенный, но, к сожалению, этот метод вызывается новее. Как правильно перехватить событие отключения сеанса?