Статьи

Управление верблюжьими маршрутами с помощью веб-интерфейса Kura

В моем  предыдущем посте об интеграции Camel и Kura  я продемонстрировал, как легко развернуть маршруты Camel в  Kura  с помощью  Rhiot . В этой статье я хотел бы немного рассказать о том, как управлять маршрутами Camel с уровня веб-интерфейса Kura.

Загрузка XML-маршрутов с использованием свойства SCR

RhiotKuraRouter  поставляется с  методом RhiotKuraRouter # updated (Map)  . Основная цель этого обратного вызова — позволить маршрутизатору быть компонентом SCR, настроенным с использованием веб-интерфейса Kura и EuroTech  Everyware Cloud , однако этот обратный вызов можно использовать вне веб-интерфейса и контекста Everyware Cloud.

Всякий раз, когда  выполняется  обратный вызов RhiotKuraRouter # updated (Map)RhiotKuraRouter  пытается прочитать  значение  свойства camel.route.xml (  ключ-константа RhiotKuraConstants.XML_ROUTE_PROPERTY ), чтобы проанализировать его значение и загрузить его как маршруты XML Camel. Например, если для   свойства camel.route.xml будет задано следующее значение …

<routes xmlns="http://camel.apache.org/schema/spring">
    <route id="mqttLogger">
        <from uri="paho:topic?brokerUrl=tcp:brokerhost:1883"/>
        <to uri="log:messages"/>
    </route>
</routes>

… новый маршрут будет автоматически запущен (или обновлен, если маршрут с идентификатором, равным  mqttLogger,  уже существует).

Все вышеперечисленное в основном означает, что если вы зарегистрируете свой маршрутизатор Kura в качестве  декларативной службы OSGi , вы сможете динамически загружать и обновлять XML-маршруты с помощью службы администрирования конфигурации OSGi.

Управление верблюжьими маршрутами XML с помощью веб-интерфейса

Все   экземпляры RhiotKuraRouter реализуют  интерфейс Kura  ConfigurableComponent . Это означает, что их можно настроить с помощью веб-интерфейса Kura.

Я настоятельно рекомендую использовать быстрый старт Rhiot  Kura Camel  в качестве шаблона для создания маршрутизаторов Kura Camel. Наш быстрый запуск сконфигурирован как компонент SCR, так что вы можете просто развернуть его на сервере Kura и увидеть, что ваш модуль маршрута шлюза развернут как настраиваемая служба. Чтобы указать маршрутный XML, который должен быть загружен контекстом Camel, запущенным в развернутом модуле, отредактируйте  свойство  сервиса camel.route.xml и нажмите кнопку «  Применить»  . Как только   нажата кнопка « Применить» , маршрут будет проанализирован и загружен.

Наш быстрый запуск Kura Camel также можно использовать в  EuroTech Everyware Cloud (EC) .

Обслуживание маршрутов Кура во время выполнения

The ability to maintain Camel routes from web UI without restarting a Kura server is extremely important when it comes to the long term maintenance of your IoT gateway solution. It allows to modify a flow of the existing message routes or create new rules without affecting an uptime of your production environment.

Production-level grade IoT gateway (Kura) and powerful messaging framework (Camel) are an example of a perfect combination of two mature technologies which used together result in a solid, but flexible Internet Of Things solution.