Подтвердить что ты не робот

Push Notification в Spring MVC WebApp

В настоящее время я пишу веб-приложение форума, используя Spring MVC. Я всего лишь новичок в Spring и работаю с ним всего около 1 недели.

Мне нужно реализовать push-уведомления. Вот сценарий: Пользователь А регистрируется и создает сообщение. Пользователь B комментирует сообщение пользователя A, пока пользователь A все еще зарегистрирован. Пользователь A получает уведомление о том, что какой-либо пользователь прокомментировал свой пост, без обновления браузера страницы.

Мне нужна помощь в отправке уведомления пользователю A, которое Пользователь B прокомментировал свой пост асинхронно. Я провел некоторое исследование и обнаружил, что есть пакет под названием CometD, который я могу использовать, но я не могу найти для него какие-либо простые учебники.

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

4b9b3361

Ответ 1

Учебники CometD находятся здесь: http://docs.cometd.org/tutorials/.

CometD также поставляется с демо файлом войны, в котором есть встроенное приложение чата, которое вы можете использовать в качестве основы для понимания того, как работает CometD, см. http://docs.cometd.org/reference/installation.html.

Полная справочная документация CometD находится здесь: http://docs.cometd.org/.

Из опыта я не рекомендую использовать функции async для Servlet 3.0 для реализации чата, поскольку это исключает использование WebSocket.

Лучше вы полагаетесь на такие среды, как CometD, которые могут начинаться с WebSocket (как это более эффективно), а затем автоматически и прозрачно отбрасываться на HTTP, если WebSocket не работает.

Аналогичным образом я не рекомендую использовать только метод WebSocket, поскольку WebSocket не работает в определенных сценариях (например, мобильные сети часто не разрешают трафик WebSocket), и это слишком низкоуровневый протокол, поэтому вы будете должны создать собственный протокол поверх WebSocket (что очень много работы и нелегко получить).

CometD предоставляет вам простой в расширении протокол и автоматическую резервную передачу транспорта, а также имеет массу функций (например, авторизацию и аутентификацию и кластеризацию, чтобы упомянуть два).