Интеграция с rabbitmq
В этом уроке объясняется, как можно установить соединение с брокером сообщений RabbitMQ, используя контекст Коррелятора событий.
1. Настройка папки расширения
Прежде всего, необходимо заполнить поле Extensions Folder контекста plugins.com_tibbo_linkserver_plugin_context_correlators. Все скаченные расширения коррелятора нужно поместить в эту папку.
2. Загрузка расширения rabbitmq
Скачайте плагин RabbitMQ, используя следующую ссылку: https://github.com/siddhi-io/siddhi-io-rabbitmq. Поместите плагин в папку, заданную на предыдущем шаге.
3. Загрузка расширения мапера
Чтобы правильно осуществлять разбор и обработку входящего потока данных, коррелятору необходим соответствующий плагин мапирования. Список доступных плагинов можно найти по ссылке: https://siddhi-io.github.io/siddhi/extensions/.
В данном руководстве мы будем работать в простыми текстовыми сообщениями, поэтому вам нужно скачать соответствующее расширение по ссылке: https://wso2-extensions.github.io/siddhi-map-text/.
Поместите плагин в папку, заданную на первом шаге. После этого перезапустите сервер.
После перезапуска сервера RabbitMQ сущности (источник и приемник), а также текстовый маппер, будут доступны в скриптах Коррелятора событий.
4. Настройка коррелятора событий
Теперь мы можем создать и настроить коррелятор событий.
Поместите следующий скрипт в поле Correlator Script:
|
Этот скрипт описывает, как сообщения, отправленные в обменник "logs" локального RabbitMQ брокера (BarStream
), перехватываются и преобразуются в набор событий SberMobile Server (FooStream
). Предполагается, что входящие сообщения поступают в текстовом формате (@map(type='text')
). Ожидается, что входные данные будут выглядеть так: text:'Message'
. После получения сообщения его данные будут извлечены и помещены в поле text
соответствующего события SberMobile Server.
Для того, чтобы этот скрипт корректно выполнялся, вам также придется настроить событие test
контекста Коррелятора событий: