Библиотека маршрутов
В разделе Библиотека маршрутов
вы можете создавать и настраивать различные библиотеки маршрутов для дальнейшего использования в интеграциях.
Доступные типы маршрутов:
-
AGGREGATOR
Маршруты для объединения нескольких сообщений в одно на основе определенных условий. -
QUARTZ
Маршруты, которые используют планировщик задач QUARTZ для запуска процессов по расписанию. -
ROUTE-CALLABLE
Динамически создаваемые маршруты, которые можно вызывать программно. -
TIMER
Маршруты, запускающиеся через регулярные интервалы времени.
Создание библиотеки маршрутов
-
Чтобы создать библиотеку маршрутов, перейдите в раздел
Библиотека маршрутов
и нажмите кнопкуAdd Route Library
. После этого вам будет предложено заполнить следующие параметры:-
General
-
*Factory: Идентификатор фабрики для данной библиотеки маршрутов. Обязательное поле с предустановленным значением —
route-library
. -
*Object Id: Обязательное поле. Идентификатор библиотеки маршрутов.
-
Display Name: Отображаемое имя библиотеки маршрутов. Необязательное поле.
-
Description: Необязательное поле. Краткое описание.
-
-
Redelivery policy
-
Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.
-
-
Routes
-
Раздел Routes позволяет создавать и настраивать различные типы маршрутов для обработки сообщений. Добавление маршрутов.
-
-
-
После заполнения всех обязательных полей, нажмите кнопку
Add
для добавления библиотеки маршрутов.
Добавление маршрутов
-
Для добавления маршрута выберите нужную библиотеку, перейдите в раздел
Маршруты
и нажмите кнопкуAdd Route
.Инструкция по добавлению маршрута универсальна и применяется независимо от того, из какого раздела — профиля, коннектора, сервиса и т.д. — происходит добавление маршрута.
-
Далее выберите подходящий тип маршрута из предложенного списка доступных вариантов:
-
-
При агрегации по телу сообщения (GROUPED :: BODY) заголовки второго и последующих сообщений теряются;
-
Идентификатор сообщения (логирующий ключ) берется из первого сообщения;
-
Свойства
exchangeProperties
после работы агрегатора с использованием стратегий JDBC/Postgre/Ignite уничтожаются.
-
-
В настоящее время, если в библиотеке маршрутов настроено несколько маршрутов Quartz, значение параметра Auto Start Scheduler, установленное в первом маршруте, применяется ко всем остальным. Даже если в последующих маршрутах указаны другие значения, они будут следовать настройке первого маршрута. Чтобы изменить поведение всех маршрутов, необходимо задать одинаковое значение Auto Start Scheduler для каждого из них. В будущем будет реализована возможность индивидуальной настройки параметра Auto Start Scheduler для каждого маршрута.
-
-
После заполнения всех обязательных полей, нажмите кнопку
Add
для добавления маршрута в библиотеку.
Пример создания маршрута:
Рассмотрим пример создания маршрута Aggregator в библиотеке маршрутов с последующим вызовом маршрута.
-
Заполняем обязательное поле Route ID значением
aggregator-01
-
Заполняем обязательное поле Correlation Expression значением
${headers.NTX_correlation_id}
-
Заполняем обязательные поля:
-
Aggregation Repository Ref
-
Strategy Ref
Доступные стратегии:
-
GROUPED::BODY
- Агрегирует входящие сообщения в один объект, который содержит все агрегированные тела сообщений в виде списка типа Object в теле сообщения; -
String
- Агрегирует входящие сообщения в один объект, который содержит все агрегированные тела сообщений в виде строки в теле сообщения;-
Delimeter
- разделитель, с помощью которого выполняется объединение.
-
-
-
В параметре Completion Size указываем количество сообщений для завершения агрегации - 2
-
Устанавливаем значение
ASYNC
в глобальном режиме вызова маршрута в разделеmain
-
Нажимаем кнопку
Add
для добавления маршрута -
Сохраняем добавленный в библиотеку маршрут, для этого нажимаем на кнопку
Save all
-
Маршрут успешно сохранен в библиотеке
Пример вызова маршрута:
Для вызова маршрута используется кастомный тег <m:call-route library="" name="" async=""/>
Пример конфигурации маршрута для вызова маршрута aggregator-01
:
<?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">
<setProperty name="NTX_profile_in_preRouted">
<constant>true</constant>
</setProperty>
<setHeader name="NTX_correlation_id"><constant>example</constant></setHeader>
<m:call-route library="library-01" name="aggregator-01" async="true"/>
</entaxy:object-route>
В этом примере, когда вы вызываете маршрут Это необходимо для корректного функционирования агрегации сообщений, так как значение заголовка будет использоваться для идентификации и группировки сообщений в агрегаторе. |
При установке значения
|
Управление библиотеками маршрутов
Остановить библиотеку маршрутов
-
Перейдите в раздел
Библиотеки маршрутов
чтобы увидеть все добавленные библиотеки. -
Напротив выбранной библиотеки нажмите кнопку
Stop
. Библиотека маршрутов будет остановлена. -
Появится подтверждающее сообщение о том, что операция выполнена успешно: 'Operation Succeeded!'.
-
В столбце 'Status' должно отображаться 'Resolved', подтверждая успешную остановку.
Запустить библиотеку маршрутов
-
Перейдите в раздел
Библиотеки маршрутов
чтобы увидеть все добавленные библиотеки. -
Нажмите кнопку
Start
. Библиотека маршрутов будет запущена. -
Появится подтверждающее сообщение о том, что операция выполнена успешно: 'Operation Succeeded!'.
-
В столбце 'Status' должно отображаться 'Active', подтверждая успешный запуск.
Удалить библиотеку маршрутов
-
Перейдите в раздел
Библиотеки маршрутов
чтобы увидеть все добавленные библиотеки. -
Нажмите кнопку
Uninstall
. Появится сообщение с просьбой подтвердить удаление библиотеки маршрутов. -
Убедитесь, что вы действительно хотите удалить библиотеку, так как эту операцию нельзя отменить.
-
В случае подтверждения появится сообщение о том, что операция выполнена успешно: 'Operation Succeeded!'.
-
Библиотека будет удалена и больше не будет отображаться в списке библиотек.
Управление маршрутами
Добавление маршрута в библиотеку маршрутов
Для добавления маршрута в библиотеку маршрутов перейдите в подраздел Маршруты
, нажмите кнопку Add Route
и добавьте нужный маршрут.
При внесении изменений в существующий маршрут или добавлении новых маршрутов в библиотеку необходимо сохранить эти изменения, нажав кнопку Save в библиотеке маршрутов или кнопку Save all непосредственно в самом маршруте. |
Удалить маршрут
-
В выбранной библиотеке маршрутов перейдите в подраздел Маршруты, чтобы увидеть все добавленные маршруты;
-
Напротив выбранного маршрута нажмите кнопку
Remove
; -
Поле
Status
маршрута изменится наActive (to removal)
и название маршрута в дереве меню будет перечеркнуто; -
Для окончательного удаления маршрута перейдите в библиотеку маршрутов и сохраните изменения.