Spring websocket: как перехватить событие отправки через иерархию AbstractSubProtocolEvent? - PullRequest
0 голосов
/ 22 мая 2018

О веб-сокете Spring о перехвате Stomp событий. Один подход расширяется от ChannelInterceptorAdapter класса

. Он работает так, как ожидается.Подробнее здесь:

Теперь, согласно этому руководству:

упомянутый выше подход охватывается и , другой подход обходится с ApplicationEvents, это через:

Эти классы расширяются от:

И существует еще два подкласса:

Этот список подтвержден (одним и тем же автором):

Имена сами по себе очевидны, чтобы знать, что каждый из них делает, но просто любопытно

  • Почему для события send нет ни одного?

Это реагирует с:

stompClient.send('/app/ws/something', 
                 {}, 
                 JSON.stringify({'content': $('#content').val()})

Для этого send событие "кажется" обязательным, работа с ChannelInterceptorAdapter через postSend(Message<?> message, MessageChannel channel, boolean sent) метод еще

1 Ответ

0 голосов
/ 22 мая 2018

События отражают основные точки в жизненном цикле соединения STOMP.Они не предназначены для уведомления о каждом сообщении, отправленном клиентом.Для этого вы можете использовать @MessageMapping методы или ChannelInterceptor.

...