Я новичок в весенней загрузке и весне в целом. Меня бросили в проект, и мое первое "упражнение", чтобы намочить ноги, - это создать простую функцию подачи новостей на передней панели, которая будет автоматически обновляться через уведомления о переносе через веб-узел.
Применяемые технологии:
- Угловая для общего внешнего применения
- SockJS для создания веб-рассылки
- Stomp над webosocket для получения сообщений от брокера сообщений
- Стержни
- Stomp Message Broker (инфраструктура, связанная с Java)
Чего я хочу достичь на лицевой стороне:
- Создайте соединение с веб-сокетом при загрузке представления
- Создайте поставщика stomp, используя этот websocket
- Подпишитесь на мой клиент
- Catch-сервер пересылает сообщения и обновляет угловой вид
Что касается кода на стороне сервера:
- Настройте материал websocket и управляйте соединением
-
@Scheduled
ли сервер сообщения каждые X раз (через исполнителя или@Scheduled
?).
Я думаю, что до сих пор я достиг всего, кроме последней части кода на стороне сервера. В следующем примере я использовал websocket в полнодуплексном режиме, и когда клиент отправляет что-то, сервер немедленно отвечает на очередь сообщений и обновляется все подписываемые клиенты. Но я хочу, чтобы сервер сам отправлял что-то поверх Stomp
БЕЗ ожидания клиента, чтобы делать какие-либо запросы.
Сначала я создал @Controller
и добавил к нему метод с @SendTo("/my/subscribed/path")
. Однако я не знаю, как его запустить. Также я попытался добавить @Scheduled
но эта аннотация работает только с методами с возвращаемым типом void
(и я возвращаю объект NewsMessage).
По сути, мне нужно, чтобы клиент инициализировал соединение с websocket, и после того, как сервер начал нажимать на него сообщения через заданный интервал (или всякий раз, когда событие запускается, это не имеет значения сейчас). Кроме того, каждый новый клиент должен прослушивать одну и ту же очередь сообщений и получать те же сообщения.