Библиотека маршрутов
В разделе Библиотека маршрутов вы можете создавать и настраивать различные библиотеки маршрутов для дальнейшего использования в интеграциях.
Доступные типы маршрутов:
- 
AGGREGATOR
Маршруты для объединения нескольких сообщений в одно на основе определенных условий. - 
LISTENER-QUEUE-ARTEMIS
Маршрут для интеграции с использованием очередей брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов. - 
QUARTZ
Маршруты, которые используют планировщик задач QUARTZ для запуска процессов по расписанию. - 
ROUTE-CALLABLE
Динамически создаваемые маршруты, которые можно вызывать программно. - 
SUBSCRIPTION-TOPIC-ARTEMIS
Маршрут для интеграции с использованием подписки на топики брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов. - 
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)и название маршрута в дереве меню будет перечеркнуто;
 - 
Для окончательного удаления маршрута перейдите в библиотеку маршрутов и сохраните изменения.