Кто-нибудь может подсказать что нужно сделать по шагам чтобы настроить websockets в проекте на cuba 7.1?
Нет не выручает. Потому что документация скудная. В нашем приложении мы отказались от классического GUI и делаем все на REST API. В кубе ключены по умолчанию сокеты но для других целей. Для обмена сообщениями с vaadin. Из документации невозможно понять как работают эти сокеты какие там URL используются и форматы сообщений и тд.
В таком разрезе не подскажу, такой вариант не приходилось реализовывать.
Добрый день!
В этом аддоне используется spring-websocket
для комуникации между средним слоем и клиентами. См. например WebSocketDispatcherServletInitializer и так далее.
Вы можете сделать то же самое в модуле web или portal, где работает ваш REST.
С уважением,
Константин
Большое спасибо за полезный ответ. Как раз наткнулся на этот плагин. и сделал так как там. Но почему-то при подключении к сокету выходит ошибка 404. То есть сервлет не обрабатывает запросы.
Очевидно либо ваш сервлет не вступает в действие, либо вы обращаетесь к нему по неправильному URL.
А можете посмотреть что не так? Вот url по которому я хожу ws://localhost:8080/ws/handler
Файлы проекта:
WebSocketDispatcherServlet.java (2.1 КБ) WebSocketDispatcherServletInitializer.java (2.2 КБ) WebSocketServer.java (1.7 КБ) websocket-spring.xml (785 Байты)
Может быть надо добавить в URL контекст веб-приложения в котором запущен spring-ws? Что-то вроде ws://localhost:8080/app/ws/handler
?
Не получается так тоже. По данному адресу отвечает websocket vaadin не мой свервлет. То есть все что по адресу /app обрабатывается другим вебсокетом
В общем разобрался. оказывается маппинг идет от того модуля в котором мы регистрируем сервлет. Так как мой класс WebSocketDispatcherServletInitializer
находится в модуле core
для него URL следующий http://localhost:8080/app-core/ws/handler