Доступные типы маршрутов
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 - Агрегирует входящие сообщения в один объект, который содержит все агрегированные тела сообщений в виде строки в теле сообщения. Delimiter - Разделитель, с помощью которого выполняется объединение. |
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 — Потребитель отправляет запрос и может ожидать ответ, но получение ответа является необязательным. Этот шаблон используется в случаях, когда ответ на запрос может быть полезен, но не критически важен для продолжения работы потребителя. |
Quartz - информационный раздел, отображающий данные об экземплярах планировщика, задачах и триггерах, установленных ранее и функционирующих на данный момент.
Функционал раздела поставляется web консолью Hawtio и его использование, на данный момент, возможно только в информационных целях. Редактирование задач планировщика производится только через разделы Entaxy ION. |
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 — Потребитель отправляет запрос и может ожидать ответ, но получение ответа является необязательным. Этот шаблон используется в случаях, когда ответ на запрос может быть полезен, но не критически важен для продолжения работы потребителя. |