Как мне получать уведомления о том, что клиент отключается от Spring SseEmitter?

#java #spring #spring-boot #kotlin

#java #spring #spring-boot #kotlin

Вопрос:

У меня есть приложение Spring Boot с конечной точкой, которая возвращает a org.springframework.web.servlet.mvc.method.annotation.SseEmitter .

Несколько клиентов подключаются к моему бэкэнду, и они SseEmitters сохраняются (в памяти), чтобы они могли отправлять друг другу сообщения через другую конечную точку, которые сервер затем пересылает всем подключенным эмиттерам.

Моя проблема в том, что SseEmitter класс имеет только onCompletion onError onTimeout события и . Ни один из них не вызывается, когда клиент просто отключается.

Есть ли способ узнать, когда соединение отключается? Или, может быть, способ получить базовый сокет и прослушать его закрытие или что-то в этом роде?