Доступные типы маршрутов
AGGREGATOR: Маршрут для агрегирования нескольких сообщений на основе заданных критериев.
LISTENER-QUEUE-ARTEMIS: Маршрут для интеграции с использованием очередей брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов.
QUARTZ: Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени.
ROUTE-CALLABLE: Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами.
SUBSCRIPTION-TOPIC-ARTEMIS: Маршрут для интеграции с использованием подписки на топики брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов.
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 |
Принудительно завершает агрегацию сообщений при остановке маршрута. |
LISTENER-QUEUE-ARTEMIS
Основные параметры (General)
Параметр | Описание |
---|---|
Factory |
Идентификатор фабрики для вызываемого маршрута. Предустановленное значение - LISTENER :: QUEUE :: ARTEMIS |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
Route |
Редактирование маршрута. |
Connection |
Используемая коннекция |
Queue name |
Название очереди, которая используется в качестве пункта назначения. |
Consumer priority |
Приоритеты потребителей определяют порядок обработки сообщений в очереди, где сообщения сначала доставляются активным потребителям с высоким приоритетом по принципу round-robin, а потребителям с низким приоритетом - только если высокоприоритетные потребители не могут обработать сообщение или отклоняют обработку. |
Common
Параметр | Описание |
---|---|
Client Id |
Определяет JMS идентификатор клиента, который должен быть уникальным и может использоваться только одним экземпляром JMS-соединения. Обычно требуется только для долговременных подписок на топики. При использовании Apache ActiveMQ вы можете рассмотреть возможность использования виртуальных топиков. |
Disable Reply To |
Определяет, игнорирует ли Camel заголовок JMSReplyTo в сообщениях. Если значение установлено в true, Camel не будет отправлять ответ на адрес, указанный в заголовке JMSReplyTo. Эта опция может быть полезна, если вы хотите, чтобы Camel только получал сообщения из маршрута, не отправляя автоматические ответные сообщения, так как их обработку выполняет другой компонент в вашем коде. Также вы можете использовать эту опцию, если хотите настроить Camel как прокси между различными брокерами сообщений, маршрутизируя сообщения из одной системы в другую. |
Durable Subscription Name |
Имя подписчика для долговременных подписок на топики. Также необходимо настроить параметр clientId. |
Jms Message Type |
Позволяет принудительно использовать определенную реализацию javax.jms.Message для отправки JMS-сообщений. Возможные значения: Bytes, Map, Object, Stream, Text. По умолчанию Camel определяет тип JMS-сообщения в зависимости от типа тела входного сообщения. Этот параметр дает возможность явно указать тип сообщения. |
Test Connection On Startup |
Определяет, следует ли тестировать соединение при запуске. Это гарантирует, что при старте Camel все потребители JMS имеют действующее соединение с брокером JMS. Если соединение не может быть установлено, Camel выбрасывает исключение при старте, что предотвращает запуск с неработающими соединениями. Тестируются также JMS-продюсеры. |
Consumer
Параметр | Описание |
---|---|
Acknowledgement Mode Name |
Имя режима подтверждения JMS, которое может быть одним из: SESSION_TRANSACTED: Используется для транзакционных сессий, где подтверждение сообщений происходит автоматически при успешном завершении транзакции. CLIENT_ACKNOWLEDGE: Сообщение считается подтверждённым клиентом только после явного вызова метода acknowledge() на сообщении. AUTO_ACKNOWLEDGE: Сообщения автоматически подтверждаются системой JMS сразу после их успешной доставки клиенту, без необходимости вызова acknowledge(). DUPS_OK_ACKNOWLEDGE: Сообщения подтверждаются системой JMS автоматически, но допускается возможность дублирования сообщений при сбоях. |
Async Consumer |
Определяет, обрабатывает ли JmsConsumer обмен сообщениями асинхронно. При включении JmsConsumer может забирать следующее сообщение из очереди JMS, пока предыдущее обрабатывается асинхронно (механизмом асинхронной маршрутизации), что может привести к обработке сообщений не в строгом порядке. Если отключено (по умолчанию), обмен полностью обрабатывается перед получением следующего сообщения из очереди. Если транзакция включена, асинхронная обработка (asyncConsumer=true) не будет работать, так как транзакция должна выполняться синхронно (Camel 3.0 может поддерживать асинхронные транзакции). |
Auto Startup |
Определяет автоматический запуск потребителя при старте. |
Cache Level |
Устанавливает уровень кеша по идентификатору для основных ресурсов JMS. Смотрите опцию cacheLevelName для получения более подробной информации. |
Cache Level Name |
Устанавливает уровень кеша по имени для основных ресурсов JMS. Возможные значения: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE и CACHE_SESSION. Значение по умолчанию — CACHE_AUTO. |
Concurrent Consumers |
Определяет количество потребителей, работающих одновременно при потреблении данных из JMS (не для запросов/ответов через JMS). Также смотрите опцию maxMessagesPerTask, чтобы управлять динамическим масштабированием потоков увеличением/уменьшением. При выполнении запросов/ответов через JMS используется опция replyToConcurrentConsumers для управления количеством одновременных потребителей на слушателе ответных сообщений. |
Max Concurrent Consumers |
Определяет максимальное количество потребителей, работающих одновременно при потреблении данных из JMS (не для запросов/ответов через JMS). Также смотрите опцию maxMessagesPerTask, чтобы управлять динамическим масштабированием потоков увеличением/уменьшением. При выполнении запросов/ответов через JMS используется опция replyToConcurrentConsumers для управления количеством одновременных потребителей на слушателе ответных сообщений. |
Reply To |
Определяет назначение ReplyTo, которое переопределяет любое входящее значение Message.getJMSReplyTo(). |
Reply To Delivery Persistent |
Определяет, следует ли использовать постоянную доставку по умолчанию для ответных сообщений. |
Selector |
Определяет используемый JMS-селектор. |
Subscription Durable |
Определяет, будет ли подписка долговременной. Имя долговременной подписки может быть указано через свойство subscriptionName. По умолчанию значение false. Установите true, чтобы зарегистрировать долговременную подписку, обычно в сочетании со значением subscriptionName (если имя класса вашего слушателя сообщений не подходит в качестве имени подписки). Имеет смысл только при прослушивании топика (pub-sub домен), поэтому данный параметр также переключает флаг pubSubDomain. |
Subscription Name |
Задает имя создаваемой подписки. Применяется для топиков (в домене pub-sub) с общей или долговременной подпиской. Имя подписки должно быть уникальным в рамках идентификатора JMS клиента. По умолчанию используется имя класса указанного слушателя сообщений. Обратите внимание, что для каждой подписки разрешен только один одновременный потребитель (это значение по умолчанию для контейнера слушателя сообщений), за исключением общей подписки, которая требует поддержки JMS 2.0. |
Subscription Shared |
Определяет, будет ли подписка общей. Имя общей подписки может быть задано через свойство subscriptionName. По умолчанию значение false. Установите чек-бокс, чтобы зарегистрировать общую подписку, обычно в сочетании со значением subscriptionName (если имя класса вашего слушателя сообщений не подходит в качестве имени подписки). Обратите внимание, что общие подписки также могут быть долговременными, поэтому этот флаг может (и часто будет) сочетаться с subscriptionDurable. Имеет смысл только при прослушивании топика (в домене pub-sub), поэтому данный метод также переключает флаг pubSubDomain. Требуется совместимый с JMS 2.0 брокер сообщений. |
Consumer (advanced)
Параметр | Описание |
---|---|
Accept Messages While Stopping |
Определяет, будет ли потребитель принимать сообщения во время остановки. Рассмотрите возможность включения чек-бокса, если вы запускаете и останавливаете JMS-маршруты, когда сообщения все еще находятся в очереди. Если чек-бокс отключен и вы останавливаете JMS-маршрут, сообщения могут быть отклонены, что приведет к необходимости их повторной доставки со стороны JMS-брокера. Это может привести к повторным отклонениям, в результате чего сообщения могут быть перемещены в очередь «мертвых букв». Чтобы избежать этой ситуации, рекомендуется включить данную опцию. |
Allow Reply Manager Quick Stop |
Определяет, разрешает ли DefaultMessageListenerContainer, используемый в менеджерах ответов для обмена сообщениями типа «запрос-ответ», быструю остановку флага DefaultMessageListenerContainer.runningAllowed, если включен флаг JmsConfiguration#isAcceptMessagesWhileStopping и в данный момент происходит остановка org.apache.camel.CamelContext. Эта возможность быстрой остановки активирована по умолчанию для обычных JMS-потребителей, но для её включения в менеджерах ответов необходимо активировать этот флаг. |
Consumer Type |
Определяет тип потребителя, который следует использовать. Возможные значения: Simple, Default или Custom. |
Default Task Executor Type |
Параметр, задающий тип TaskExecutor, который будет использоваться по умолчанию в DefaultMessageListenerContainer для потребителей и для потребителей в ReplyTo продюсерских конечных точках. Доступные значения: SimpleAsync (использует Spring SimpleAsyncTaskExecutor) и ThreadPool (использует Spring ThreadPoolTaskExecutor с оптимальными параметрами, аналогичными кэшируемому пулу потоков). Если параметр не задан, применяется предустановленное поведение: для потребителей — кэшированный пул потоков, а для ReplyTo потребителей — SimpleAsync. Рекомендуется выбирать ThreadPool для уменьшения избыточного создания потоков в конфигурациях, где число одновременно работающих потребителей может динамически изменяться. |
Eager Loading Of Properties |
Включает ускоренную загрузку свойств JMS и полезной нагрузки сразу после загрузки сообщения. Хотя это обычно неэффективно, так как свойства JMS могут не понадобиться, иногда такая загрузка может помочь выявить проблемы с базовым JMS-провайдером и использованием свойств JMS на ранней стадии. Смотрите также опцию eagerPoisonBody. |
Eager Poison Body |
Если функция eagerLoadingOfProperties включена и полезная нагрузка JMS-сообщения (тело JMS или свойства JMS) является "ядом" (не может быть прочитана или сопоставлена), то данный текст устанавливается в качестве тела сообщения, чтобы его можно было обработать (причина "яда" уже сохранена в виде исключения в Exchange). Эту опцию можно отключить, установив eagerPoisonBody=false. Смотрите также опцию eagerLoadingOfProperties. |
Expose Listener Session |
Определяет, следует ли открывать сессию слушателя при получении сообщений. |
Reply To Same Destination Allowed |
Определяет, разрешено ли потребителю JMS отправлять ответное сообщение в тот же пункт назначения, из которого он получает сообщения. Это предотвращает бесконечный цикл, при котором потребитель может потреблять и отправлять одно и то же сообщение обратно самому себе. |
Task Executor |
Позволяет указать кастомный исполнитель задач для обработки сообщений. |
Exception Handler |
Позволяет потребителю использовать пользовательский обработчик исключений (ExceptionHandler). Обратите внимание, что если опция bridgeErrorHandler включена, то эта опция не будет использоваться. По умолчанию потребитель обрабатывает исключения, которые регистрируются на уровнях WARN или ERROR и игнорируются. |
Exchange Pattern |
Устанавливает шаблон обмена, который используется при создании обмена потребителем. Возможные варианты: InOnly: Сообщение отправляется без ожидания ответа. |
Advanced
Параметр | Описание |
---|---|
Allow Serialized Headers |
Определяет, включать или нет сериализованные заголовки. Применяется только при условии, что transferExchange равно true. Это требует, чтобы объекты были сериализуемыми. Camel исключает любые несериализуемые объекты и записывает соответствующее сообщение в журнал на уровне WARN. |
Artemis Streaming Enabled |
Активация потокового режима Apache Artemis. |
Async Start Listener |
Определяет, нужно ли запускать слушатель сообщений JmsConsumer асинхронно при старте маршрута. Если JmsConsumer не может установить соединение с удалённым JMS-брокером, он может заблокироваться во время попыток повторного подключения или переключения, что может привести к блокировке Camel при запуске маршрутов. Активировав этот параметр, вы позволите маршрутам запускаться, в то время как JmsConsumer будет подключаться к JMS-брокеру в асинхронном режиме, используя отдельный поток. Однако важно помнить, что если соединение не удастся установить, в журнале будет зарегистрировано исключение на уровне WARN, и потребитель не сможет получать сообщения. Для повторной попытки вы сможете перезапустить маршрут. |
Async Stop Listener |
Определяет, нужно ли останавливать слушатель сообщений JmsConsumer асинхронно при остановке маршрута. |
Basic Property Binding |
Определяет, должен ли компонент использовать базовое связывание свойств (Camel 2.x) или новое связывание свойств с дополнительными возможностями. |
Configuration |
Использование общей JMS конфигурации. |
Destination Resolver |
Подключаемый модуль org.springframework.jms.support.destination.DestinationResolver, который позволяет использовать собственный резольвер (например, для поиска реального пункта назначения в реестре JNDI). |
Error Handler |
Определяет org.springframework.util.ErrorHandler, который будет вызываться при возникновении любых необработанных исключений в процессе обработки сообщения. По умолчанию такие исключения регистрируются на уровне WARN, если обработчик ошибок не был настроен. Вы можете настроить уровень протоколирования и необходимость записи трассировок стека с помощью опций errorHandlerLoggingLevel и errorHandlerLogStackTrace. Это делает настройку более удобной по сравнению с необходимостью разработки собственного обработчика ошибок. |
Exception Listener |
Указывает слушателя исключений JMS, который будет уведомлен о любых внутренних исключениях JMS. |
Idle Consumer Limit |
Указывает лимит на количество потребителей, которые могут быть неактивны в любой момент времени. |
Idle Task Execution Limit |
Указывает предел для бездействующих выполнений задачи получения, при которых не было получено ни одного сообщения в процессе выполнения. Если этот предел будет достигнут, задача завершится, и получение сообщений будет передано другим выполняющимся задачам (в случае динамического планирования; смотрите параметр maxConcurrentConsumers). Дополнительная документация доступна в Spring. |
Include All JMSXProperties |
Определяет, следует ли включать все свойства JMSXxxx при отображении из JMS в Camel Message. Активация чек-бокса приведет к включению таких свойств, как JMSXAppID, JMSXUserID и т. д. Обратите внимание, что если вы используете пользовательскую стратегию фильтрации заголовков, эта опция не будет применяться. |
Jms Key Format Strategy |
Подключаемая стратегия для кодирования и декодирования ключей JMS, чтобы они соответствовали спецификации JMS. Camel предоставляет две реализации по умолчанию: default и passthrough. Стратегия default безопасно маршализует точки и дефисы (. и -). Стратегия passthrough оставляет ключ без изменений. Она может использоваться для JMS-брокеров, которые не обращают внимания на наличие недопустимых символов в ключах заголовков JMS. Вы также можете предоставить свою собственную реализацию org.apache.camel.component.jms.JmsKeyFormatStrategy и ссылаться на нее с помощью нотации #. |
Map Jms Message |
Определяет, должен ли Camel автоматически сопоставлять полученное JMS-сообщение с подходящим типом полезной нагрузки, например, javax.jms.TextMessage со строкой и т.д. |
Max Messages Per Task |
Определяет количество сообщений, обрабатываемых одной задачей. Значение -1 позволяет обработать неограниченное количество сообщений. Если используется диапазон для параллельных потребителей (например, min и max), эта опция позволяет установить, например, значение 100, чтобы контролировать скорость сокращения числа потребителей, когда объем работы уменьшается. |
Message Converter |
Используйте пользовательский конвертер Spring org.springframework.jms.support.converter.MessageConverter, чтобы контролировать процесс отображения данных в/из javax.jms.Message. |
Message Created Strategy |
Для использования данной MessageCreatedStrategy, которая вызывается, когда Camel создает новые экземпляры объектов javax.jms.Message при отправке JMS-сообщения. |
Message Id Enabled |
При отправке указывает, следует ли добавлять идентификаторы сообщений. Это всего лишь подсказка для JMS-брокера. Если JMS-провайдер принимает эту подсказку, идентификатор сообщения должен быть установлен в null; если провайдер игнорирует подсказку, идентификатор сообщения должен быть установлен на его обычное уникальное значение. |
Message Listener Container Factory |
Идентификатор реестра MessageListenerContainerFactory, используемый для определения того, какой org.springframework.jms.listener.AbstractMessageListenerContainer использовать для потребления сообщений. Установка этого параметра автоматически устанавливает consumerType в Custom. |
Message Timestamp Enabled |
Определяет, должны ли временные метки по умолчанию быть включены при отправке сообщений. Это всего лишь подсказка для JMS-брокера. Если JMS-провайдер принимает эту подсказку, временная метка этих сообщений должна быть установлена в ноль; если провайдер игнорирует подсказку, временная метка должна быть установлена на свое обычное значение. |
Pub Sub No Local |
Определяет, следует ли запрещать доставку сообщений, опубликованных через собственное соединение. |
Receive Timeout |
Таймаут для получения сообщений (в миллисекундах). |
Recovery Interval |
Определяет интервал между попытками восстановления соединения в миллисекундах. По умолчанию составляет 5000 мс, то есть 5 секунд. |
Request Timeout Checker Interval |
Настраивает, как часто Camel должен проверять истекшие Exchanges при выполнении запроса/ответа через JMS. По умолчанию Camel проверяет раз в секунду. Однако если вам необходимо быстрее реагировать на истечение времени ожидания, вы можете уменьшить этот интервал, чтобы проверять чаще. Таймаут определяется опцией requestTimeout. |
Transfer Exception |
Если эта функция включена и вы используете обмен сообщениями Request Reply (InOut), и обмен не удался на стороне потребителя, то вызванное исключение будет отправлено обратно в ответ в виде javax.jms.ObjectMessage. Если клиент — это Camel, то возвращенное исключение будет повторно выброшено. Это позволяет использовать Camel JMS в качестве моста в маршрутизации — например, используя постоянные очереди для обеспечения надежной маршрутизации. Обратите внимание, что если также включен параметр transferExchange, эта опция имеет приоритет. Перехваченное исключение должно быть сериализуемым. Исходное исключение на стороне потребителя может быть обернуто во внешнее исключение, например, org.apache.camel.RuntimeCamelException, при возврате к производителю. Используйте это с осторожностью, так как данные используют сериализацию объектов Java и требуют, чтобы получатель мог десериализовать данные на уровне класса, что приводит к сильной связности между производителями и потребителями! |
Transfer Exchange |
Вы можете передавать весь обмен сообщениями, а не только тело и заголовки. При этом передаются следующие поля: входное тело, выходное тело, тело ошибки, входные заголовки, выходные заголовки, заголовки ошибок, свойства обмена и исключение обмена. Это требует, чтобы все объекты были сериализуемыми. Camel исключит любые несериализуемые объекты и зафиксирует это в журнале на уровне WARN. Данная опция должна быть включена как на стороне производителя, так и на стороне потребителя, чтобы Camel мог распознать полезную нагрузку как обмен, а не как обычную полезную нагрузку. Используйте эту возможность с осторожностью, так как данные используют сериализацию объектов Java и требуют, чтобы получатель мог десериализовать данные на уровне класса, что приводит к сильной связанности между производителями и потребителями, которым необходимо использовать совместимые версии Camel. |
Use Message IDAs Correlation ID |
Определяет, следует ли всегда использовать JMSMessageID в качестве JMSCorrelationID для сообщений типа InOut. |
Wait For Provision Correlation To Be Updated Counter |
Количество попыток ожидания обновления временного идентификатора корреляции до фактического идентификатора корреляции при выполнении запросов/ответов через JMS и при включенной опции useMessageIDAsCorrelationID. |
Wait For Provision Correlation To Be Updated Thread Sleeping Time |
Интервал в миллисекундах, на который система будет приостанавливать выполнение каждый раз, ожидая обновления временного идентификатора корреляции. |
Synchronous |
Определяет, должна ли использоваться синхронная обработка, или Camel может использовать асинхронную обработку, если она поддерживается. |
Filter
Параметр | Описание |
---|---|
Header Filter Strategy |
Для использования пользовательской стратегии фильтрации заголовков org.apache.camel.spi.HeaderFilterStrategy для фильтрации заголовков в сообщениях Camel. |
Logging
Параметр | Описание |
---|---|
Error Handler Logging Level |
Позволяет настроить уровень логирования по умолчанию для обработчика ошибок (errorHandler) при регистрации неперехваченных исключений. |
Error Handler Log Stack Trace |
Позволяет контролировать, должны ли стековые трассы регистрироваться или нет, используя стандартный обработчик ошибок (errorHandler). |
Transaction (advanced)
Параметр | Описание |
---|---|
Lazy Create Transaction Manager |
Если установлено значение true, Camel создаст JmsTransactionManager, если при включенной опции transacted=true не будет передан transactionManager. |
Transaction Manager |
Используемый менеджер транзакций Spring. |
Transaction Name |
Имя используемой транзакции. |
Transaction Timeout |
Значение тайм-аута транзакции (в секундах), если используется транзакционный режим. |
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 - Синхронный вызов, ожидающий завершения обработки; |
SUBSCRIPTION-TOPIC-ARTEMIS
Основные параметры (General)
Параметр | Описание |
---|---|
Factory |
Идентификатор фабрики для вызываемого маршрута. Предустановленное значение - SUBSCRIPTION :: TOPIC :: ARTEMIS |
Display name |
Отображаемое имя маршрута. Указывается значение по умолчанию, если не указано явно. |
Route ID |
Уникальный идентификатор маршрута. |
Route properties |
Дополнительные произвольные метаданные. |
Route |
Редактирование маршрута. |
Connection |
Используемая коннекция |
Topic name |
Название топика, который используется в качестве пункта назначения. |
Consumer priority |
Приоритеты потребителей определяют порядок обработки сообщений в очереди, где сообщения сначала доставляются активным потребителям с высоким приоритетом по принципу round-robin, а потребителям с низким приоритетом - только если высокоприоритетные потребители не могут обработать сообщение или отклоняют обработку. |
Common
Параметр | Описание |
---|---|
Client Id |
Определяет JMS идентификатор клиента, который должен быть уникальным и может использоваться только одним экземпляром JMS-соединения. Обычно требуется только для долговременных подписок на топики. При использовании Apache ActiveMQ вы можете рассмотреть возможность использования виртуальных топиков. |
Disable Reply To |
Определяет, игнорирует ли Camel заголовок JMSReplyTo в сообщениях. Если значение установлено в true, Camel не будет отправлять ответ на адрес, указанный в заголовке JMSReplyTo. Эта опция может быть полезна, если вы хотите, чтобы Camel только получал сообщения из маршрута, не отправляя автоматические ответные сообщения, так как их обработку выполняет другой компонент в вашем коде. Также вы можете использовать эту опцию, если хотите настроить Camel как прокси между различными брокерами сообщений, маршрутизируя сообщения из одной системы в другую. |
Durable Subscription Name |
Имя подписчика для долговременных подписок на топики. Также необходимо настроить параметр clientId. |
Jms Message Type |
Позволяет принудительно использовать определенную реализацию javax.jms.Message для отправки JMS-сообщений. Возможные значения: Bytes, Map, Object, Stream, Text. По умолчанию Camel определяет тип JMS-сообщения в зависимости от типа тела входного сообщения. Этот параметр дает возможность явно указать тип сообщения. |
Test Connection On Startup |
Определяет, следует ли тестировать соединение при запуске. Это гарантирует, что при старте Camel все потребители JMS имеют действующее соединение с брокером JMS. Если соединение не может быть установлено, Camel выбрасывает исключение при старте, что предотвращает запуск с неработающими соединениями. Тестируются также JMS-продюсеры. |
Consumer
Параметр | Описание |
---|---|
Acknowledgement Mode Name |
Имя режима подтверждения JMS, которое может быть одним из: SESSION_TRANSACTED: Используется для транзакционных сессий, где подтверждение сообщений происходит автоматически при успешном завершении транзакции. CLIENT_ACKNOWLEDGE: Сообщение считается подтверждённым клиентом только после явного вызова метода acknowledge() на сообщении. AUTO_ACKNOWLEDGE: Сообщения автоматически подтверждаются системой JMS сразу после их успешной доставки клиенту, без необходимости вызова acknowledge(). DUPS_OK_ACKNOWLEDGE: Сообщения подтверждаются системой JMS автоматически, но допускается возможность дублирования сообщений при сбоях. |
Async Consumer |
Определяет, обрабатывает ли JmsConsumer обмен сообщениями асинхронно. При включении JmsConsumer может забирать следующее сообщение из очереди JMS, пока предыдущее обрабатывается асинхронно (механизмом асинхронной маршрутизации), что может привести к обработке сообщений не в строгом порядке. Если отключено (по умолчанию), обмен полностью обрабатывается перед получением следующего сообщения из очереди. Если транзакция включена, асинхронная обработка (asyncConsumer=true) не будет работать, так как транзакция должна выполняться синхронно (Camel 3.0 может поддерживать асинхронные транзакции). |
Auto Startup |
Определяет автоматический запуск потребителя при старте. |
Cache Level |
Устанавливает уровень кеша по идентификатору для основных ресурсов JMS. Смотрите опцию cacheLevelName для получения более подробной информации. |
Cache Level Name |
Устанавливает уровень кеша по имени для основных ресурсов JMS. Возможные значения: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE и CACHE_SESSION. Значение по умолчанию — CACHE_AUTO. |
Concurrent Consumers |
Определяет количество потребителей, работающих одновременно при потреблении данных из JMS (не для запросов/ответов через JMS). Также смотрите опцию maxMessagesPerTask, чтобы управлять динамическим масштабированием потоков увеличением/уменьшением. При выполнении запросов/ответов через JMS используется опция replyToConcurrentConsumers для управления количеством одновременных потребителей на слушателе ответных сообщений. |
Max Concurrent Consumers |
Определяет максимальное количество потребителей, работающих одновременно при потреблении данных из JMS (не для запросов/ответов через JMS). Также смотрите опцию maxMessagesPerTask, чтобы управлять динамическим масштабированием потоков увеличением/уменьшением. При выполнении запросов/ответов через JMS используется опция replyToConcurrentConsumers для управления количеством одновременных потребителей на слушателе ответных сообщений. |
Reply To |
Определяет назначение ReplyTo, которое переопределяет любое входящее значение Message.getJMSReplyTo(). |
Reply To Delivery Persistent |
Определяет, следует ли использовать постоянную доставку по умолчанию для ответных сообщений. |
Selector |
Определяет используемый JMS-селектор. |
Subscription Durable |
Определяет, будет ли подписка долговременной. Имя долговременной подписки может быть указано через свойство subscriptionName. По умолчанию значение false. Установите true, чтобы зарегистрировать долговременную подписку, обычно в сочетании со значением subscriptionName (если имя класса вашего слушателя сообщений не подходит в качестве имени подписки). Имеет смысл только при прослушивании топика (pub-sub домен), поэтому данный параметр также переключает флаг pubSubDomain. |
Subscription Name |
Задает имя создаваемой подписки. Применяется для топиков (в домене pub-sub) с общей или долговременной подпиской. Имя подписки должно быть уникальным в рамках идентификатора JMS клиента. По умолчанию используется имя класса указанного слушателя сообщений. Обратите внимание, что для каждой подписки разрешен только один одновременный потребитель (это значение по умолчанию для контейнера слушателя сообщений), за исключением общей подписки, которая требует поддержки JMS 2.0. |
Subscription Shared |
Определяет, будет ли подписка общей. Имя общей подписки может быть задано через свойство subscriptionName. По умолчанию значение false. Установите чек-бокс, чтобы зарегистрировать общую подписку, обычно в сочетании со значением subscriptionName (если имя класса вашего слушателя сообщений не подходит в качестве имени подписки). Обратите внимание, что общие подписки также могут быть долговременными, поэтому этот флаг может (и часто будет) сочетаться с subscriptionDurable. Имеет смысл только при прослушивании топика (в домене pub-sub), поэтому данный метод также переключает флаг pubSubDomain. Требуется совместимый с JMS 2.0 брокер сообщений. |
Consumer (advanced)
Параметр | Описание |
---|---|
Accept Messages While Stopping |
Определяет, будет ли потребитель принимать сообщения во время остановки. Рассмотрите возможность включения чек-бокса, если вы запускаете и останавливаете JMS-маршруты, когда сообщения все еще находятся в очереди. Если чек-бокс отключен и вы останавливаете JMS-маршрут, сообщения могут быть отклонены, что приведет к необходимости их повторной доставки со стороны JMS-брокера. Это может привести к повторным отклонениям, в результате чего сообщения могут быть перемещены в очередь «мертвых букв». Чтобы избежать этой ситуации, рекомендуется включить данную опцию. |
Allow Reply Manager Quick Stop |
Определяет, разрешает ли DefaultMessageListenerContainer, используемый в менеджерах ответов для обмена сообщениями типа «запрос-ответ», быструю остановку флага DefaultMessageListenerContainer.runningAllowed, если включен флаг JmsConfiguration#isAcceptMessagesWhileStopping и в данный момент происходит остановка org.apache.camel.CamelContext. Эта возможность быстрой остановки активирована по умолчанию для обычных JMS-потребителей, но для её включения в менеджерах ответов необходимо активировать этот флаг. |
Consumer Type |
Определяет тип потребителя, который следует использовать. Возможные значения: Simple, Default или Custom. |
Default Task Executor Type |
Параметр, задающий тип TaskExecutor, который будет использоваться по умолчанию в DefaultMessageListenerContainer для потребителей и для потребителей в ReplyTo продюсерских конечных точках. Доступные значения: SimpleAsync (использует Spring SimpleAsyncTaskExecutor) и ThreadPool (использует Spring ThreadPoolTaskExecutor с оптимальными параметрами, аналогичными кэшируемому пулу потоков). Если параметр не задан, применяется предустановленное поведение: для потребителей — кэшированный пул потоков, а для ReplyTo потребителей — SimpleAsync. Рекомендуется выбирать ThreadPool для уменьшения избыточного создания потоков в конфигурациях, где число одновременно работающих потребителей может динамически изменяться. |
Eager Loading Of Properties |
Включает ускоренную загрузку свойств JMS и полезной нагрузки сразу после загрузки сообщения. Хотя это обычно неэффективно, так как свойства JMS могут не понадобиться, иногда такая загрузка может помочь выявить проблемы с базовым JMS-провайдером и использованием свойств JMS на ранней стадии. Смотрите также опцию eagerPoisonBody. |
Eager Poison Body |
Если функция eagerLoadingOfProperties включена и полезная нагрузка JMS-сообщения (тело JMS или свойства JMS) является "ядом" (не может быть прочитана или сопоставлена), то данный текст устанавливается в качестве тела сообщения, чтобы его можно было обработать (причина "яда" уже сохранена в виде исключения в Exchange). Эту опцию можно отключить, установив eagerPoisonBody=false. Смотрите также опцию eagerLoadingOfProperties. |
Expose Listener Session |
Определяет, следует ли открывать сессию слушателя при получении сообщений. |
Reply To Same Destination Allowed |
Определяет, разрешено ли потребителю JMS отправлять ответное сообщение в тот же пункт назначения, из которого он получает сообщения. Это предотвращает бесконечный цикл, при котором потребитель может потреблять и отправлять одно и то же сообщение обратно самому себе. |
Task Executor |
Позволяет указать кастомный исполнитель задач для обработки сообщений. |
Exception Handler |
Позволяет потребителю использовать пользовательский обработчик исключений (ExceptionHandler). Обратите внимание, что если опция bridgeErrorHandler включена, то эта опция не будет использоваться. По умолчанию потребитель обрабатывает исключения, которые регистрируются на уровнях WARN или ERROR и игнорируются. |
Exchange Pattern |
Устанавливает шаблон обмена, который используется при создании обмена потребителем. Возможные варианты: InOnly: Сообщение отправляется без ожидания ответа. |
Advanced
Параметр | Описание |
---|---|
Allow Serialized Headers |
Определяет, включать или нет сериализованные заголовки. Применяется только при условии, что transferExchange равно true. Это требует, чтобы объекты были сериализуемыми. Camel исключает любые несериализуемые объекты и записывает соответствующее сообщение в журнал на уровне WARN. |
Artemis Streaming Enabled |
Активация потокового режима Apache Artemis. |
Async Start Listener |
Определяет, нужно ли запускать слушатель сообщений JmsConsumer асинхронно при старте маршрута. Если JmsConsumer не может установить соединение с удалённым JMS-брокером, он может заблокироваться во время попыток повторного подключения или переключения, что может привести к блокировке Camel при запуске маршрутов. Активировав этот параметр, вы позволите маршрутам запускаться, в то время как JmsConsumer будет подключаться к JMS-брокеру в асинхронном режиме, используя отдельный поток. Однако важно помнить, что если соединение не удастся установить, в журнале будет зарегистрировано исключение на уровне WARN, и потребитель не сможет получать сообщения. Для повторной попытки вы сможете перезапустить маршрут. |
Async Stop Listener |
Определяет, нужно ли останавливать слушатель сообщений JmsConsumer асинхронно при остановке маршрута. |
Basic Property Binding |
Определяет, должен ли компонент использовать базовое связывание свойств (Camel 2.x) или новое связывание свойств с дополнительными возможностями. |
Configuration |
Использование общей JMS конфигурации. |
Destination Resolver |
Подключаемый модуль org.springframework.jms.support.destination.DestinationResolver, который позволяет использовать собственный резольвер (например, для поиска реального пункта назначения в реестре JNDI). |
Error Handler |
Определяет org.springframework.util.ErrorHandler, который будет вызываться при возникновении любых необработанных исключений в процессе обработки сообщения. По умолчанию такие исключения регистрируются на уровне WARN, если обработчик ошибок не был настроен. Вы можете настроить уровень протоколирования и необходимость записи трассировок стека с помощью опций errorHandlerLoggingLevel и errorHandlerLogStackTrace. Это делает настройку более удобной по сравнению с необходимостью разработки собственного обработчика ошибок. |
Exception Listener |
Указывает слушателя исключений JMS, который будет уведомлен о любых внутренних исключениях JMS. |
Idle Consumer Limit |
Указывает лимит на количество потребителей, которые могут быть неактивны в любой момент времени. |
Idle Task Execution Limit |
Указывает предел для бездействующих выполнений задачи получения, при которых не было получено ни одного сообщения в процессе выполнения. Если этот предел будет достигнут, задача завершится, и получение сообщений будет передано другим выполняющимся задачам (в случае динамического планирования; смотрите параметр maxConcurrentConsumers). Дополнительная документация доступна в Spring. |
Include All JMSXProperties |
Определяет, следует ли включать все свойства JMSXxxx при отображении из JMS в Camel Message. Активация чек-бокса приведет к включению таких свойств, как JMSXAppID, JMSXUserID и т. д. Обратите внимание, что если вы используете пользовательскую стратегию фильтрации заголовков, эта опция не будет применяться. |
Jms Key Format Strategy |
Подключаемая стратегия для кодирования и декодирования ключей JMS, чтобы они соответствовали спецификации JMS. Camel предоставляет две реализации по умолчанию: default и passthrough. Стратегия default безопасно маршализует точки и дефисы (. и -). Стратегия passthrough оставляет ключ без изменений. Она может использоваться для JMS-брокеров, которые не обращают внимания на наличие недопустимых символов в ключах заголовков JMS. Вы также можете предоставить свою собственную реализацию org.apache.camel.component.jms.JmsKeyFormatStrategy и ссылаться на нее с помощью нотации #. |
Map Jms Message |
Определяет, должен ли Camel автоматически сопоставлять полученное JMS-сообщение с подходящим типом полезной нагрузки, например, javax.jms.TextMessage со строкой и т.д. |
Max Messages Per Task |
Определяет количество сообщений, обрабатываемых одной задачей. Значение -1 позволяет обработать неограниченное количество сообщений. Если используется диапазон для параллельных потребителей (например, min и max), эта опция позволяет установить, например, значение 100, чтобы контролировать скорость сокращения числа потребителей, когда объем работы уменьшается. |
Message Converter |
Используйте пользовательский конвертер Spring org.springframework.jms.support.converter.MessageConverter, чтобы контролировать процесс отображения данных в/из javax.jms.Message. |
Message Created Strategy |
Для использования данной MessageCreatedStrategy, которая вызывается, когда Camel создает новые экземпляры объектов javax.jms.Message при отправке JMS-сообщения. |
Message Id Enabled |
При отправке указывает, следует ли добавлять идентификаторы сообщений. Это всего лишь подсказка для JMS-брокера. Если JMS-провайдер принимает эту подсказку, идентификатор сообщения должен быть установлен в null; если провайдер игнорирует подсказку, идентификатор сообщения должен быть установлен на его обычное уникальное значение. |
Message Listener Container Factory |
Идентификатор реестра MessageListenerContainerFactory, используемый для определения того, какой org.springframework.jms.listener.AbstractMessageListenerContainer использовать для потребления сообщений. Установка этого параметра автоматически устанавливает consumerType в Custom. |
Message Timestamp Enabled |
Определяет, должны ли временные метки по умолчанию быть включены при отправке сообщений. Это всего лишь подсказка для JMS-брокера. Если JMS-провайдер принимает эту подсказку, временная метка этих сообщений должна быть установлена в ноль; если провайдер игнорирует подсказку, временная метка должна быть установлена на свое обычное значение. |
Pub Sub No Local |
Определяет, следует ли запрещать доставку сообщений, опубликованных через собственное соединение. |
Receive Timeout |
Таймаут для получения сообщений (в миллисекундах). |
Recovery Interval |
Определяет интервал между попытками восстановления соединения в миллисекундах. По умолчанию составляет 5000 мс, то есть 5 секунд. |
Request Timeout Checker Interval |
Настраивает, как часто Camel должен проверять истекшие Exchanges при выполнении запроса/ответа через JMS. По умолчанию Camel проверяет раз в секунду. Однако если вам необходимо быстрее реагировать на истечение времени ожидания, вы можете уменьшить этот интервал, чтобы проверять чаще. Таймаут определяется опцией requestTimeout. |
Transfer Exception |
Если эта функция включена и вы используете обмен сообщениями Request Reply (InOut), и обмен не удался на стороне потребителя, то вызванное исключение будет отправлено обратно в ответ в виде javax.jms.ObjectMessage. Если клиент — это Camel, то возвращенное исключение будет повторно выброшено. Это позволяет использовать Camel JMS в качестве моста в маршрутизации — например, используя постоянные очереди для обеспечения надежной маршрутизации. Обратите внимание, что если также включен параметр transferExchange, эта опция имеет приоритет. Перехваченное исключение должно быть сериализуемым. Исходное исключение на стороне потребителя может быть обернуто во внешнее исключение, например, org.apache.camel.RuntimeCamelException, при возврате к производителю. Используйте это с осторожностью, так как данные используют сериализацию объектов Java и требуют, чтобы получатель мог десериализовать данные на уровне класса, что приводит к сильной связности между производителями и потребителями! |
Transfer Exchange |
Вы можете передавать весь обмен сообщениями, а не только тело и заголовки. При этом передаются следующие поля: входное тело, выходное тело, тело ошибки, входные заголовки, выходные заголовки, заголовки ошибок, свойства обмена и исключение обмена. Это требует, чтобы все объекты были сериализуемыми. Camel исключит любые несериализуемые объекты и зафиксирует это в журнале на уровне WARN. Данная опция должна быть включена как на стороне производителя, так и на стороне потребителя, чтобы Camel мог распознать полезную нагрузку как обмен, а не как обычную полезную нагрузку. Используйте эту возможность с осторожностью, так как данные используют сериализацию объектов Java и требуют, чтобы получатель мог десериализовать данные на уровне класса, что приводит к сильной связанности между производителями и потребителями, которым необходимо использовать совместимые версии Camel. |
Use Message IDAs Correlation ID |
Определяет, следует ли всегда использовать JMSMessageID в качестве JMSCorrelationID для сообщений типа InOut. |
Wait For Provision Correlation To Be Updated Counter |
Количество попыток ожидания обновления временного идентификатора корреляции до фактического идентификатора корреляции при выполнении запросов/ответов через JMS и при включенной опции useMessageIDAsCorrelationID. |
Wait For Provision Correlation To Be Updated Thread Sleeping Time |
Интервал в миллисекундах, на который система будет приостанавливать выполнение каждый раз, ожидая обновления временного идентификатора корреляции. |
Synchronous |
Определяет, должна ли использоваться синхронная обработка, или Camel может использовать асинхронную обработку, если она поддерживается. |
Filter
Параметр | Описание |
---|---|
Header Filter Strategy |
Для использования пользовательской стратегии фильтрации заголовков org.apache.camel.spi.HeaderFilterStrategy для фильтрации заголовков в сообщениях Camel. |
Logging
Параметр | Описание |
---|---|
Error Handler Logging Level |
Позволяет настроить уровень логирования по умолчанию для обработчика ошибок (errorHandler) при регистрации неперехваченных исключений. |
Error Handler Log Stack Trace |
Позволяет контролировать, должны ли стековые трассы регистрироваться или нет, используя стандартный обработчик ошибок (errorHandler). |
Transaction
Параметр | Описание |
---|---|
Transacted |
|
Transacted |
Определяет, следует ли использовать транзакционный режим. |
Transaction (advanced)
Параметр | Описание |
---|---|
Lazy Create Transaction Manager |
Если установлено значение true, Camel создаст JmsTransactionManager, если при включенной опции transacted=true не будет передан transactionManager. |
Transaction Manager |
Используемый менеджер транзакций Spring. |
Transaction Name |
Имя используемой транзакции. |
Transaction Timeout |
Значение тайм-аута транзакции (в секундах), если используется транзакционный режим. |
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 — Потребитель отправляет запрос и может ожидать ответ, но получение ответа является необязательным. Этот шаблон используется в случаях, когда ответ на запрос может быть полезен, но не критически важен для продолжения работы потребителя. |