Подключение Spring Websocket к проект cuba 7.1

Кто-нибудь может подсказать что нужно сделать по шагам чтобы настроить 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

1 симпатия