Доступные типы маршрутов
AGGREGATOR: Маршрут для агрегирования нескольких сообщений на основе заданных критериев.
QUARTZ: Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени.
ROUTE-CALLABLE: Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами.
TIMER: Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.
AGGREGATOR
|
При настройке маршрута агрегатора необходимо указать хотя бы одно из следующих полей:
Эти поля не являются обязательными, но по крайней мере одно из них должно быть задано для корректного создания маршрута. |
Основные параметры (General)
| Параметр | Описание |
|---|---|
Factory |
Идентификатор фабрики для маршрута агрегатора. Предустановленное значение - |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
On-complete route |
Маршрут, который будет выполнен после завершения агрегации. |
Correlation Expression |
Обязательный параметр. Выражение, используемое для вычисления ключа корреляции для агрегации сообщений. Сообщения с одинаковым ключом корреляции будут агрегироваться вместе. Если ключ корреляции не может быть применен, будет выброшено исключение. Вы можете отключить это с помощью параметра ignoreBadCorrelationKeys. |
Completion Predicate |
Предикат для указания завершения агрегированного обмена. Если не задан, будет использован объект AggregationStrategy как completionPredicate, если он реализует Predicate. |
Completion Timeout Expression |
Время в миллисекундах, в течение которого агрегированное сообщение должно оставаться неактивным до завершения (тайм-аут). Может быть задано как фиксированное значение или с помощью выражения для динамической оценки тайм-аута. Если заданы оба параметра, Camel будет использовать фиксированное значение, если результат выражения равен null или 0. Не может использоваться одновременно с completionInterval. По умолчанию проверка тайм-аута выполняется каждую секунду; частоту проверок можно настроить с помощью параметра completionTimeoutCheckerInterval. Тайм-аут приблизительный и может не сработать точно по истечении указанного времени. Не рекомендуется использовать очень низкие значения тайм-аута или частоты проверок. |
Parallel Processing |
Когда агрегация сообщений завершается, они передаются дальше. Этот параметр определяет, будет ли Camel использовать пул потоков для параллельной обработки сообщений. Если пользовательский пул не указан, Camel создаст стандартный пул с 10 потоками. |
Optimistic Locking |
Включает или отключает оптимистичное блокирование. |
Aggregation Repository Ref |
Устанавливает пользовательский агрегатный репозиторий. По умолчанию используется |
Strategy Ref |
Стратегии агрегации: Factory: GROUPED :: BODY - Агрегирует входящие сообщения в один объект, который содержит все агрегированные тела сообщений в виде списка типа Object в теле сообщения. String - Агрегирует входящие сообщения в один объект, который содержит все агрегированные тела сообщений в виде строки в теле сообщения. Delimeter - Разделитель, с помощью которого выполняется объединение. |
Completion On New Correlation Group |
Завершает агрегацию при поступлении новой корреляционной группы. |
Eager Check Completion |
Включает проверку завершения агрегации с использованием входящего обмена, а не агрегированного сообщения. |
Ignore Invalid Correlation Keys |
Если корреляционный ключ не может быть применен, он будет проигнорирован с записью в журнале с уровнем DEBUG, а входящий обмен будет проигнорирован. |
Close Correlation Key On Completion |
Закрывает ключ корреляции после завершения агрегации. Если позднее поступят сообщения с ключом, который уже был закрыт, они будут отклонены, и будет выброшено исключение |
Discard On Completion Timeout |
Удаляет агрегированное сообщение по истечении времени завершения. |
Discard On Aggregation Failure |
Удаляет агрегированное сообщение, если агрегация завершилась с ошибкой (из-за исключения из AggregationStrategy). Частично агрегированное сообщение будет отброшено и не отправлено из агрегатора. Не может использоваться одновременно с completionFromBatchConsumer. |
Complete All On Stop |
Завершает обработку всех текущих и частично агрегированных сообщений при остановке маршрута. |
Main
| Параметр | Описание |
|---|---|
Global call mode |
Определяет способ вызова маршрута (для всех сущностей в системе Entaxy): SYNC - Синхронный вызов, ожидающий завершения обработки; |
Local call mode |
Определяет способ вызова маршрута (только для текущей сущности в системе Entaxy): SYNC - Синхронный вызов, ожидающий завершения обработки; |
Completion
| Completion Size Expression | Выражение, определяющее количество сообщений, после достижения которого агрегация завершится. |
|---|---|
Completion Size |
Количество сообщений для завершения агрегации. Может быть задано как фиксированное значение или с помощью выражения для динамической оценки размера. Если заданы оба значения, будет использовано фиксированное значение, если результат выражения равен null или 0. |
Completion Interval |
Время в миллисекундах, через которое агрегатор завершает обработку агрегированных сообщений. Camel выполняет фоновую задачу, которая срабатывает через указанный интервал. Не может использоваться одновременно с completionTimeout; необходимо выбрать один из двух. |
Completion Timeout |
Время в миллисекундах, в течение которого агрегированное сообщение должно оставаться неактивным до завершения (тайм-аут). Может быть задано как фиксированное значение или с помощью выражения для динамической оценки тайм-аута. Если заданы оба параметра, Camel будет использовать фиксированное значение, если результат выражения равен null или 0. Не может использоваться одновременно с completionInterval. По умолчанию проверка тайм-аута выполняется каждую секунду; частоту проверок можно настроить с помощью параметра completionTimeoutCheckerInterval. Тайм-аут приблизительный и может не сработать точно по истечении указанного времени. Не рекомендуется использовать слишком низкие значения тайм-аута или частоты проверок. |
Completion From Batch Consumer |
Включает режим агрегации, при котором сообщения собираются от |
Force Completion On Stop |
Принудительно завершает агрегацию сообщений при остановке маршрута. |
QUARTZ
Основные параметры (General)
| Параметр | Описание |
|---|---|
Factory |
Идентификатор фабрики для вызываемого маршрута. Предустановленное значение - |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
Route content |
Редактирование маршрута. |
Group Name |
Имя группы, которое будет использоваться для Quartz. Комбинация имени группы и имени таймера должна быть уникальной. |
Trigger Name |
Имя таймера, которое будет использоваться для Quartz. Комбинация имени таймера и имени группы должна быть уникальной. |
Consumer
| Параметр | Описание |
|---|---|
Bridge Error Handler |
Позволяет перенаправлять исключения, возникающие во время работы потребителя в систему маршрутизации ошибок Camel. Это означает, что любые исключения, которые по умолчанию обрабатываются стандартным обработчиком исключений (org.apache.camel.spi.ExceptionHandler) и логируются на уровне WARN или ERROR, теперь будут обрабатываться как сообщения и управляться через механизмы обработки ошибок. |
Prefix Job Name With Endpoint Id |
Определяет, нужно ли добавлять идентификатор конечной точки в имя задания Quartz. По умолчанию установлено значение |
Cron |
Указывает cron-выражение для определения времени триггера. Используйте |
Delete Job |
Если установлено значение |
Durable Job |
Определяет, должно ли задание оставаться сохраненным после того, как не останется триггеров, указывающих на него. |
Pause Job |
Если установлено значение |
Recoverable Job |
Указывает планировщику, следует ли повторно выполнять задание в случае возникновения ситуации "восстановления" или "переключения на резервный режим". |
Stateful |
Использует |
Advanced
| Параметр | Описание |
|---|---|
Basic Property Binding |
Определяет, следует ли использовать основное связывание свойств (Camel 2.x) или более новую версию связывания свойств с дополнительными возможностями. |
Synchronous |
Устанавливает, следует ли использовать строго синхронную обработку, или Camel может использовать асинхронную обработку (если это поддерживается). |
Using Fixed Camel Context Name |
Если значение равно true, JobDataMap использует имя CamelContext напрямую для ссылки на CamelContext, если значение равно false, JobDataMap использует имя управления CamelContext, которое может быть изменено во время развертывания. |
Scheduler
| Параметр | Описание |
|---|---|
Auto Start Scheduler |
Должен ли планировщик автоматически запускаться. По умолчанию эта опция установлена в true. |
Start Delayed Seconds |
Задержка старта в секундах. Время ожидания перед запуском планировщика Quartz. |
Fire Now |
Немедленный запуск. Если установлено в true, триггер сработает сразу после запуска маршрута при использовании SimpleTrigger. |
Trigger Start Delay |
Время (миллисекунды), на которое следует отложить начало работы триггера, если планировщик уже запущен. Эта задержка позволяет убедиться, что конечная точка маршрута полностью готова к обработке, прежде чем триггер начнет выполнение задания. |
Consumer (advanced)
| Параметр | Описание |
|---|---|
Exchange Pattern |
Шаблон обмена сообщений определяет тип взаимодействия между потребителем и поставщиком в контексте маршрутизации сообщений: InOnly — Потребитель отправляет запрос без ожидания ответа от поставщика. Этот шаблон подходит для сценариев, когда важно только доставить сообщение, а подтверждение его получения не требуется. InOut — Потребитель отправляет запрос и ожидает получить ответ от поставщика. Это стандартный шаблон обмена для операций, требующих подтверждения успешного выполнения или получения результата обработки запроса. InOptionalOut — Потребитель отправляет запрос и может ожидать ответ, но получение ответа является необязательным. Этот шаблон используется в случаях, когда ответ на запрос может быть полезен, но не критически важен для продолжения работы потребителя. |
ROUTE-CALLABLE
Основные параметры (General)
| Параметр | Описание |
|---|---|
Factory |
Идентификатор фабрики для вызываемого маршрута. Предустановленное значение - |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
Route |
Редактирование маршрута. |
Main
| Параметр | Описание |
|---|---|
Global call mode |
Определяет способ вызова маршрута (для всех сущностей в системе Entaxy): SYNC - Синхронный вызов, ожидающий завершения обработки; |
Local call mode |
Определяет способ вызова маршрута (только для текущей сущности в системе Entaxy): SYNC - Синхронный вызов, ожидающий завершения обработки; |
TIMER
Основные параметры (General)
| Параметр | Описание |
|---|---|
Factory |
Идентификатор фабрики для вызываемого маршрута. Предустановленное значение - |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
Route content |
Редактирование маршрута. |
Timer Name |
Имя таймера. |
Consumer
| Параметр | Описание |
|---|---|
Bridge Error Handler |
Позволяет перенаправлять исключения, возникающие во время работы потребителя в систему маршрутизации ошибок Camel. Это означает, что любые исключения, которые по умолчанию обрабатываются стандартным обработчиком исключений (org.apache.camel.spi.ExceptionHandler) и логируются на уровне WARN или ERROR, теперь будут обрабатываться как сообщения и управляться через механизмы обработки ошибок. |
Delay |
Задержка перед срабатыванием первого события. Значение по умолчанию - 1 секунда. |
Fixed Rate |
Определяет, что события будут запускаться через равные промежутки времени, разделенные указанным периодом. |
Include Metadata |
Определяет, следует ли включать в сообщение метаданные, такие как время срабатывания, имя таймера, количество срабатываний и т. д. |
Period |
Если значение больше 0, генерирует периодические события каждый раз через указанный интервал времени. Значение по умолчанию - 1 секунда. |
Repeat Count |
Задает максимальное количество срабатываний. Например, если установить значение 1, таймер сработает только один раз. Если установить значение 5, таймер сработает пять раз. Значение 0 или отрицательное значение означает, что таймер будет срабатывать бесконечно. |
Advanced
| Параметр | Описание |
|---|---|
Basic Property Binding |
Определяет, следует ли применять базовый метод связывания свойств, доступный в Apache Camel начиная с версии 2.x, или использовать более продвинутый вариант, который предлагает расширенные возможности и функциональность. |
Daemon |
Указывает, запускается ли поток, связанный с конечной точкой таймера, в качестве демона. Значение по умолчанию — true. |
Pattern |
Позволяет указать пользовательский шаблон формата даты, используемый для установки параметра времени через синтаксис URI. |
Synchronous |
Устанавливает, следует ли использовать строго синхронную обработку, или Camel может использовать асинхронную обработку (если это поддерживается). |
Time |
Дата в формате java.util.Date, для которой должно быть сгенерировано первое событие. Если используется URI, ожидается следующий шаблон: yyyy-MM-dd HH:mm:ss или yyyy-MM-dd’T’HH:mm:ss. |
Consumer (advanced)
| Параметр | Описание |
|---|---|
Exchange Pattern |
Шаблон обмена сообщений определяет тип взаимодействия между потребителем и поставщиком в контексте маршрутизации сообщений: InOnly — Потребитель отправляет запрос без ожидания ответа от поставщика. Этот шаблон подходит для сценариев, когда важно только доставить сообщение, а подтверждение его получения не требуется. InOut — Потребитель отправляет запрос и ожидает получить ответ от поставщика. Это стандартный шаблон обмена для операций, требующих подтверждения успешного выполнения или получения результата обработки запроса. InOptionalOut — Потребитель отправляет запрос и может ожидать ответ, но получение ответа является необязательным. Этот шаблон используется в случаях, когда ответ на запрос может быть полезен, но не критически важен для продолжения работы потребителя. |