Интеграция с WebSocket
Описание
В данном разделе описывается процесс настройки WebSocket‑коннектора и создание маршрута, обеспечивающего прием и обработку данных по протоколу WebSocket.
Процесс взаимодействия с WebSocket состоит из следующих шагов:
-
Устанавливаем фичу camel-websocket:
Для работы с WebSocket необходимо установить соответствующий компонент Camel, в данном случае используется WebSocket на базе Jetty. При необходимости могут использоваться и другие реализации.feature:install -r camel-websocket -
Проверяем, что установленный бандл находится в статусе Active.
633 │ Active │ 50 │ 3.4.5 │ camel-websocket -
Создаем профиль системы
websocketи добавляем к нему выходной кастомный коннектор. В точке кастомизации custom-route создаем маршрут, который реализует обработку входящих данных, полученных по протоколу WebSocket: логирование, формирование ответа и рассылку всем подключенным клиентам:<?xml version="1.0" encoding="UTF-8"?> <entaxy:object-route xmlns="http://camel.apache.org/schema/blueprint" xmlns:blueprint="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:entaxy="http://www.entaxy.ru/schemas/1.0" xmlns:m="http://www.entaxy.ru/schemas/entaxy-mediators/1.0"> <from uri="websocket://0.0.0.0:9393/echowebsocket"/> <m:log message="WS server received: ${body}"/> <setBody> <simple>Hello from Entaxy WebSocket</simple> </setBody> <to uri="websocket://0.0.0.0:9393/echowebsocket?sendToAll=true"/> <m:log message="WS server completed processing: ${body}"/> <m:log message="Custom input route execution finished"/> <m:respond now="true" continue="false"/> </entaxy:object-route> -
Для проверки работы коннектора можно использовать Postman в режиме WebSocket-клиента:
-
устанавливаем соединение: ws://localhost:9393/echowebsocket
-
отправляем тестовое сообщение (например, Test)
После отправки тестового сообщения в рамках маршрута формируется ответ и клиент возвращает сообщение: Hello from Entaxy WebSocket.
-