Перейти к основному содержимому
Начало работы
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя

JMS

Общее описание

Блок JMS позволяет отправлять сообщения в очередь JMS или в топик JMS (или использовать их из него).

Блок JMS может использоваться в качестве:

  • блока – отправителя

  • блока – получателя.

Настройка блока

В данном разделе описаны параметры блока JMS, которые необходимо заполнить при настройке и примеры заполнения значений этих параметров.

Базовые параметры блока JMS

Название в UIНазвание атрибутаОбязательныйОписаниеЗначение по умолчаниюТип данных
ConnectionconnectionПозволяет выбрать предсозданное соединение или создать новое с помощью визарда Connection Manager.Список
Destination TypedestinationType

Тип точки подключения.

Возможные значения:

  • queue

  • topic

  • temp-queue

  • temp-topic

queueСписок
Destination NamedestinationNameДаНазвание очереди или топика.Строка
Client IdclientId

Идентификатор клиента JMS.

Примечание:

Идентификатор клиента, если он задан, должен быть уникальным и может использоваться только одним экземпляром подключения JMS. Обычно он требуется только для подписки на топики с длительным сроком действия с JMS 1.1.

Строка
Disable Reply TodisableReplyToУказывает будут ли игнорироваться заголовки JMSReplyTo в сообщениях. Если значение равно True, ответы адресату, указанному в заголовке JMSReplyTo, не будут отправляться. Вы можете использовать эту опцию если не хотите, чтобы ответное сообщение отправлялось автоматически, что имеются другие компоненты, которые формируют ответное сообщение.FalseЛогическое значение
Durable Subscription NamedurableSubscriptionNameИмя постоянного подписчика для указания постоянных подписок. Чтобы пользоваться этой опцией, необходимо задать значение параметру Client ID.Строка
Jms Message TypejmsMessageType

Позволяет принудительно использовать определенную реализацию jakarta.jms.Message для отправки сообщений JMS. По умолчанию тип сообщения, который будет использоваться, определяется исходя из типа In body.

Возможные значения:

  • Bytes

  • Map

  • Object

  • Stream

  • Text

Список
Reply ToreplyToЗадает явного адресата ReplyTo (переопределяет любое входящее значение Message.getJMSReplyTo() в получателе).Строка
Test Connection On StartuptestConnectionOnStartupУказывает, следует ли проверять соединение при запуске. Это гарантирует, что при запуске системы все пользователи JMS будут иметь действующее соединение с JMS-брокером. Если соединение не может быть предоставлено, то при запуске генерируется исключение. Это гарантирует то, что система не будет запущена с неудачными подключениями. Опция работает как для получателя, так и для отправителя.FalseЛогическое значение
Acknowledgement Mode NameacknowledgementModeName

Режим подтверждения JMS.

Возможные значения:

  • SESSION_TRANSACTED,

  • CLIENT_ACKNOWLEDGE,

  • AUTO_ACKNOWLEDGE,

  • DUPS_OK_ACKNOWLEDGE

AUTO_ACKNOWLEDGEСписок
Artemis Consumer PriorityartemisConsumerPriorityПриоритеты пользователей позволяют гарантировать, что пользователи с высоким приоритетом получают сообщения, пока они активны. Обычно активные пользователи, подключенные к очереди, получают сообщения из нее в циклическом режиме. При использовании приоритетов пользователей сообщения доставляются в циклическом режиме, если существует несколько активных пользователей с одинаковым высоким приоритетом. Сообщения будут отправляться потребителям с более низким приоритетом только в том случае, если у потребителей с более высоким приоритетом исчерпан лимит использования сообщений или эти потребители с более высоким приоритетом отказались принять сообщение, например, потому, что оно не соответствует критериям каких-либо средств выбора, связанных с потребителем.Целое число
Async ConsumerasyncConsumer

Определяет будет ли JmsConsumer обрабатывать поток асинхронно. Если этот параметр включен, то JmsConsumer может получать следующее сообщение из очереди JMS, в то время как предыдущее сообщение обрабатывается асинхронно (механизмом асинхронной маршрутизации). Это означает, что сообщения могут обрабатываться не на 100% строго по порядку. Если этот параметр отключен, то передача сообщения будет полностью завершена до того, как JmsConsumer получит следующее сообщение из очереди JMS.

Примечание:

Если параметр Transacted установлен в True, то asyncConsumer=True не включит асинхронный режим, так как транзакция должна выполняться синхронно.

FalseЛогическое значение
Auto StartupautoStartupУказывает, должен ли контейнер-потребитель автоматически запускаться.TrueЛогическое значение
Cache LevelcacheLevel

Устанавливает уровень кэширования по идентификатору для базовых ресурсов JMS.

Смотрите также параметр Cache Level Name.

Целое число
Cache Level NamecacheLevelName

Задает уровень кэширования по имени для базовых ресурсов JMS.

Возможные значения:

  • CACHE_AUTO

  • CACHE_CONNECTION

  • CACHE_CONSUMER

  • CACHE_NONE

  • CACHE_SESSION

CACHE_AUTOСписок
Concurrent ConsumersconcurrentConsumers

Указывает количество одновременных потребителей по умолчанию при использовании JMS (не для запроса/ответа через JMS).

Также для управления динамическим увеличением/уменьшением масштабирования потоков используется параметр Max Messages Per Task.

При выполнении запроса/ответа через JMS для управления количеством одновременных потребителей в прослушивателе ответных сообщений используется опция Reply To Concurrent Consumers.

1Целое число
Max Concurrent ConsumersmaxConcurrentConsumers

Указывает максимальное количество одновременных потребителей при использовании JMS (не для запроса/ответа через JMS).

Также для управления динамическим увеличением/уменьшением масштабирования потоков используется параметр Max Messages Per Task.

При выполнении запроса/ответа через JMS для управления количеством одновременных потребителей в прослушивателе ответных сообщений используется опция Reply To Max Concurrent Consumers.

Целое число
Reply To Delivery PersistentreplyToDeliveryPersistentОпределяет, следует ли использовать постоянную доставку ответов по умолчанию.TrueЛогическое значение
SelectorselectorУстанавливает используемый селектор JMS.Строка
Subscription DurablesubscriptionDurableОпределяет, следует ли сделать подписку долговременной. Имя долговременной подписки, которое будет использоваться, можно указать с помощью свойства Subscription Name. Установите для этого значения значение True, чтобы зарегистрировать долговременную подписку в сочетании со значением Subscription Name, если только имя класса вашего прослушивателя сообщений не подходит в качестве имени подписки. Параметр есть смысл задавать только при прослушивании топика.FalseЛогическое значение
Subscription NamesubscriptionName

Имя подписки. Оно будет применяться для топика с общей или долговременной подпиской. Имя подписки должно быть уникальным в пределах идентификатора клиента JMS для этого клиента. По умолчанию используется имя класса указанного прослушивателя.

Примечание:

Для каждой подписки разрешен только один единовременный потребитель (который используется по умолчанию в этом контейнере для прослушивания сообщений), за исключением общей подписки (для которой требуется JMS 2.0).

Строка
Subscription SharedsubscriptionSharedОпределяет следует ли делать подписку общей. Имя общей подписки можно указать с помощью параметра Subscription Name. Установите для этого параметра значение True, чтобы зарегистрировать общую подписку в сочетании со значением Subscription Name (если только имя вашего класса прослушивателя сообщений не подходит в качестве имени подписки).FalseЛогическое значение
Delivery DelaydeliveryDelayУстанавливает задержку доставки, которая будет использоваться для отправки вызовов JMS. Для этого параметра требуется брокер, совместимый с JMS 2.0.-1Целое число
Delivery ModedeliveryMode

Указывает используемый режим доставки. Возможные значения определены в jakarta.jms.Delivermode: NON_PERSISTENT = 1 и PERSISTENT = 2.

Возможные значения:

  • 1

  • 2

Список
Delivery PersistentdeliveryPersistentЗадает, используется ли непрерывная доставка по умолчанию.TrueЛогическое значение
Explicit Qos EnabledexplicitQosEnabledОпределяет, следует ли использовать при отправке сообщений свойства Delivery Mode, Priority или Time To Live. Параметры Delivery Mode, Priority и Time To Live применяются к текущей конечной точке.FalseЛогическое значение
Format Date Headers To Iso8601formatDateHeadersToIso8601Определяет, следует ли форматировать даты JMS в соответствии со стандартом ISO 8601.FalseЛогическое значение
Preserve Message QospreserveMessageQosВключает отправку сообщений с использованием настроек QoS, указанных в сообщении, а не настроек QoS на конечной точке JMS. Следующие три заголовка обрабатываются: JMSPriority, JMSDeliveryMode и JMSExpiration. Вы можете указать все или только некоторые из них. Если они не указаны, то будут применены значения из конечной точки. Таким образом, при использовании этой опции заголовки переопределяют значения из конечной точки. Опция Explicit Qos Enabled, напротив, будет использовать только параметры, установленные в конечной точке, а не значения из заголовка сообщения.FalseЛогическое значение
Prioritypriority

Приоритет сообщения при отправке (где 1 - самый низкий приоритет, а 9 - самый высокий). Для того, чтобы этот параметр работал, также должна быть включена опция Explicit Qos Enabled.

Возможные значения:

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

4Список
Reply To Concurrent ConsumersreplyToConcurrentConsumers

Максимальное количество одновременных потребителей при использовании запроса/ответа через JMS.

Также для управления динамическим увеличением/уменьшением масштабирования потоков применяется параметр Max Messages Per Task.

1Целое число
Reply To Max Concurrent ConsumersreplyToMaxConcurrentConsumers

Максимальное количество одновременных пользователей при использовании запроса/ответа через JMS.

Также для управления динамическим увеличением/уменьшением масштабирования потоков применяется параметр Max Messages Per Task.

Целое число
Reply To On Timeout Max Concurrent ConsumersreplyToOnTimeoutMaxConcurrentConsumersУказывает максимальное количество одновременных пользователей для продолжения маршрутизации по истечении времени ожидания при использовании запроса/ответа через JMS.1Целое число
Reply To OverridereplyToOverrideЯвное указание адресата ReplyTo в сообщении JMS, которое переопределяет параметр replyTo. Это полезно, если вы хотите переслать сообщение в удаленную очередь и получить ответное сообщение от адресата ReplyTo.Строка
Reply To TypereplyToType

Явное определение того, какой тип стратегии будет использоваться для очередей replyTo при выполнении запроса/ответа через JMS.

По умолчанию будут использоваться временные очереди. Однако, если replyTo задан, то по умолчанию используется общий доступ. Этот параметр позволяет использовать эксклюзивные очереди вместо общих.

Возможные значения:

  • Temporary

  • Shared

  • Exclusive

Список
Request TimeoutrequestTimeout

Время ожидания ответа при использовании InOut Exchange Pattern (в миллисекундах). Значение по умолчанию равно 20 секундам. Вы можете включить заголовок CamelJmsRequestTimeout, чтобы переопределить это значение тайм-аута, настроенное для конечной точки, и, таким образом, задать индивидуальные значения тайм-аута для каждого сообщения.

Смотрите также параметр Request Timeout Checker Interval.

20000Длинное целое число
Time To LivetimeToLiveПри отправке сообщений указывает время жизни сообщения в миллисекундах.-1Целое число
Error Handler Logging LevelerrorHandlerLoggingLevel

Уровень логирования ErrorHandler по умолчанию для логирования неперехваченных исключений.

Возможные значения:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • OFF

WARNСписок
Error Handler Log Stack TraceerrorHandlerLogStackTraceОпределяет следует ли логировать трассировку стека или нет, с помощью обработчика ошибок по умолчанию.TrueЛогическое значение
TransactedtransactedВключает транзакционный режим.FalseЛогическое значение
Transacted In OuttransactedInOutУказывает, будут ли операции InOut (ответ на запрос) по умолчанию использоваться в режиме транзакций.FalseЛогическое значение

Расширенные параметры блока JMS

Название в UIНазвание атрибутаОбязательныйОписаниеЗначение по умолчаниюТип данных
Accept Messages While StoppingacceptMessagesWhileStoppingУказывает, будет ли потребитель принимать сообщения во время остановки. Вы можете пользоваться этой опцией, если вы запускаете и останавливаете маршруты JMS во время выполнения, пока в очереди еще есть сообщения. Если этот параметр имеет значение False, и вы останавливаете маршрут JMS, то сообщения могут быть отклонены, и JMS-брокеру придется предпринять повторную попытку доставки, которая снова может быть отклонена, и в конечном итоге сообщение может быть перемещено в очередь неиспользуемых писем на JMS-брокере. Чтобы избежать этого, рекомендуется включить эту опцию.FalseЛогическое значение
Allow Reply Manager Quick StopallowReplyManagerQuickStopЭта функция быстрой остановки включена по умолчанию в обычных потребителях JMS, но, чтобы включить ее для менеджеров ответов, вы должны установить этот параметр в True.FalseЛогическое значение
Consumer TypeconsumerType

Тип потребителя. Значение параметра определяет, какой прослушиватель Spring JMS использовать.

Возможные значения:

  • Simple

  • Default

  • Custom

DefaultСписок
Default Task Executor TypedefaultTaskExecutorType

Определяет, какой тип TaskExecutor по умолчанию следует использовать в DefaultMessageListenerContainer для конечных точек потребителей, так и для replyTo потребителей, использующихся для конечных точек поставщиков.. Если этот параметр не задан, по умолчанию используется предыдущее поведение, при котором для конечных точек-потребителей используется кэшированный пул потоков, а для получателей ответов - SimpleAsync. Рекомендуется использовать ThreadPool для уменьшения количества ненужных потоков в гибких конфигурациях с динамически увеличивающимися и уменьшающимися параллельными потребителями.

Возможные значения:

  • ThreadPool

  • SimpleAsync

Список
Eager Loading Of PropertieseagerLoadingOfProperties

Позволяет оперативно загружать свойства JMS и полезную нагрузку сразу после загрузки сообщения, что, как правило, неэффективно, поскольку свойства JMS могут и не требоваться, но иногда позволяет заблаговременно выявлять любые проблемы с базовым поставщиком JMS и использованием свойств JMS.

Смотрите также параметр Eager Poison Body.

FalseЛогическое значение
Eager Poison BodyeagerPoisonBody

Если включена функция Eager Loading Of Properties, а полезная нагрузка сообщения JMS (тело JMS или свойства JMS) является некорректной (не может быть прочитана / сопоставлена), то вместо этого задайте этот текст в качестве тела сообщения, чтобы сообщение могло быть обработано (причина ошибки уже сохранена как исключение в Exchange). Это можно отключить, установив значение Eager Poison Body=False.

Смотрите также параметр Eager Loading Of Properties.

Poison JMS message due to ${exception.message}Строка
Exception HandlerexceptionHandlerПользовательский обработчик исключений.Строка
Exchange PatternexchangePattern

Устанавливает стиль взаимодействия с присоединенной частью потока.

Возможные значения:

  • InOnly — блок стартует поток и не ждет подтверждения от самого потока.

  • InОut — блок стартует поток и ожидает получения ответа от потока, когда тот закончит выполнять свою логику. Пока ответ не будет получен — следующее срабатывание не произойдет.

Список
Expose Listener SessionexposeListenerSessionУказывает, должен ли быть запущен сессия прослушивания при получении сообщений.FalseЛогическое значение
Reply To Consumer TypereplyToConsumerType

Пользовательский тип потребителя ответа при выполнении сценария запрос/ответ.

Возможные значения:

  • Simple

  • Default

  • Custom

DefaultСписок
Reply To Same Destination AllowedreplyToSameDestinationAllowedРазрешено ли потебителю JMS отправлять ответное сообщение в тот же пункт назначения, который пользователь использует для отправки. Это предотвращает бесконечный цикл, поскольку пользователь получает и отправляет обратно одно и то же сообщение самому себе.FalseЛогическое значение
Task ExecutortaskExecutorПозволяет вам указать пользовательского исполнителя задачи для использования сообщений.Строка
Allow Additional HeadersallowAdditionalHeadersЭтот параметр используется для разрешения дополнительных заголовков, которые могут иметь недопустимые значения в соответствии со спецификацией JMS. Например, некоторые системы обмена сообщениями, такие как WMQ, делают это с именами заголовков, используя префикс JMS_IBM_MQMD_, содержащий значения с байтовым массивом или другими недопустимыми типами. Вы можете указать несколько имен заголовков, разделенных запятой, и использовать их в качестве суффикса для сопоставления с подстановочными знаками.Строка
Allow Null BodyallowNullBodyСледует ли разрешить отправку сообщений без текста. Если этот параметр имеет значение false, а текст сообщения равен null, то генерируется исключение JMSException.TrueЛогическое значение
Always Copy MessagealwaysCopyMessage

Если значение равно True, копия сообщения JMS будет создаваться всегда, когда оно будет передано производителю для отправки. Копирование сообщения необходимо в некоторых ситуациях, например, когда задано значение Reply To Destination Selector Name.

Примечание:

Если задано значение параметра Reply To Destination Selector Name, то значение параметра Always Copy Message будет автоматически установлено в True.

FalseЛогическое значение
Correlation PropertycorrelationPropertyПри использовании шаблона обмена InOut используйте это свойство JMS вместо JMS-свойства JMS Correlation ID для корреляции сообщений. Если установить, что сообщения будут коррелироваться исключительно на основе значения этого свойства, свойство JMS Correlation ID будет проигнорировано.Строка
Disable Time To LivedisableTimeToLiveЗадает принудительное отключение времени жизни сообщения.FalseЛогическое значение
Force Send Original MessageforceSendOriginalMessage

Если значение параметра Map Jms Message=False, то при изменении заголовков (get или set) во время маршрута создается новое JMS-сообщение для отправки новому получателю JMS

Если этот параметр установлен в значение True, то будет отправляться исходное полученное JMS-сообщение.

FalseЛогическое значение
Include Sent JMSMessage IDincludeSentJMSMessageIDПрименимо только при отправке в получателю JMS с использованием InOnly (например, "запустить и забыть"). Включение этой опции добавляет в данные потока фактический идентификатор JMSMessageID, который использовался клиентом JMS при отправке сообщения получателю JMS.FalseЛогическое значение
Lazy Start ProducerlazyStartProducerОпределяет должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске маршрута. Если отложить запуск, то сбой при запуске можно будет обработать во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации. Обратите внимание, что при обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки.FalseЛогическое значение
Reply To Cache Level NamereplyToCacheLevelName

Устанавливает уровень кэширования по имени для получателя ответа при выполнении запроса/ответа через JMS. Этот параметр применяется только при использовании фиксированных очередей ответов (не временных). По умолчанию будет применено значение CACHE_CONSUMER для эксклюзивного или общего доступа с заданным именем Reply To Selector Name и CACHE_SESSION для общего доступа без Reply To Selector Name

Примечание:

При использовании временных очередей параметр CACHE_NONE не разрешен, и следует применять такие значения, как CACHE_CONSUMER или CACHE_SESSION.

Возможные значения:

  • CACHE_AUTO

  • CACHE_CONNECTION

  • CACHE_CONSUMER

  • CACHE_NONE

  • CACHE_SESSION

Список
Reply To Destination Selector NamereplyToDestinationSelectorNameУстанавливает селектор JMS с использованием фиксированного имени, которое будет использоваться, чтобы вы могли отфильтровывать свои собственные ответы от других при использовании общей очереди (то есть, если вы не используете временную очередь ответов).Строка
Stream Message Type EnabledstreamMessageTypeEnabledОпределяет, включен ли тип StreamMessage или нет. Полезная нагрузка сообщений потокового типа, такая как файлы, InputStream и т.д., будут отправляться либо как BytesMessage, либо как StreamMessage. Этот параметр определяет, какой тип будет использоваться. По умолчанию используется функция BytesMessage, которая принудительно считывает всю полезную информацию сообщения в память. При включении этой опции полезная информация сообщения считывается в память по частям, а затем каждая часть записывается в StreamMessage, пока не закончатся данные.FalseЛогическое значение
Allow Serialized HeadersallowSerializedHeaders

Определяет, включать или не включать сериализованные заголовки.

Применяется только в том случае, если transferExchange имеет значение True. Для этого требуется, чтобы объекты были сериализуемыми. Все несериализуемые объекты будут исключены и зарегистрированы на уровне WARN.

FalseЛогическое значение
Artemis Streaming EnabledartemisStreamingEnabledВозможна ли оптимизация для режима потоковой передачи Apache Artemis. Это может снизить нагрузку на память при использовании Artemis с типами потоковых сообщений JMS. Эта опция должна быть включена только в том случае, если используется Apache Artemis.FalseЛогическое значение
Async Start ListenerasyncStartListenerСледует ли запускать асинхронный прослушиватель сообщений JmsConsumer при запуске маршрута. Например, если JmsConsumer не может установить соединение с удаленным JMS-брокером, то он может заблокироваться при повторной попытке и/или переключиться на резервный компонент. Это приведет к блокировке потока при запуске маршрутов. Установив для этого параметра значение True, вы разрешите запуск маршрутов, в то время как JmsConsumer подключается к JMS брокеру с помощью выделенного потока в асинхронном режиме. Если используется этот параметр, то имейте в виду, что если соединение установить не удалось, то регистрируется исключение на уровнеWARN, и получатель не сможет получать сообщения; затем вы можете перезапустить маршрут для повторной попытки соединения.FalseЛогическое значение
Async Stop ListenerasyncStopListenerОпределяет следует ли асинхронно останавливать прослушиватель сообщений JmsConsumer при остановке маршрута.FalseЛогическое значение
Destination ResolverdestinationResolverПодключаемый интерфейс стратегии для разрешения назначений JMS (например, для поиска реального места назначения в реестре JNDI).Строка
Error HandlererrorHandlerОбработчик ошибок , который будет вызываться в случае возникновения каких-либо неперехваченных исключений при обработке сообщения. По умолчанию эти исключения будут регистрироваться на уровне WARN, если обработчик ошибок не задан. Вы можете настроить уровень ведения журнала и то, следует ли регистрировать трассировки стека.Строка
Exception ListenerexceptionListenerЗадает прослушиватель исключений JMS, который должен получать уведомления о любых базовых исключениях JMS.Строка
Header Filter StrategyheaderFilterStrategyИмя пользовательской стратегии HeaderFilterStrategy для фильтрации заголовка в сообщении Camel и обратно.Строка
Idle Consumer LimitidleConsumerLimitОграничивает количество потребителей, которые могут простаивать одновременно.1Целое число
Idle Task Execution LimitidleTaskExecutionLimitОпределяет предел числа запусков в режиме ожидания задачи получения без результата. Если этот предел достигнут, задача завершит работу и передаст получение другим выполняющимся задачам (в случае динамического планирования.1Целое число
Include All JMSXPropertiesincludeAllJMSXProperties

Задает следует ли включать все свойства с префиксом JMSX при преобразовании из JMS в контекст. Установка значения True для этого параметра будет включать такие свойства, как JMSXAppID, JMSXUserID и т.д.

Примечание:

Если вы используете пользовательскую стратегию Header Filter Strategy, то этот параметр неприменим.

FalseЛогическое значение
Jms Key Format StrategyjmsKeyFormatStrategy

Подключаемая стратегия для кодирования и декодирования ключей JMS, чтобы они соответствовали спецификации JMS. Система предоставляет две готовые реализации: default и passthrough. Стратегия default предусматривает безопасное использование точек и дефисов. Стратегия passthrough оставляет ключ как есть. Может использоваться для JMS-брокеров, которым не важно, содержат ли ключи заголовка JMS недопустимые символы. Вы можете предоставить свою собственную реализацию стратегии и ссылаться на нее, используя обозначение #.

Возможные значения:

  • default

  • passthrough

Список
Map Jms MessagemapJmsMessageЗадает, будут ли автоматически сопоставляться полученное JMS-сообщение с подходящим типом полезной нагрузки, например, jakarta.jms.TextMessage в строку и т.д.Логическое значение
Max Messages Per TaskmaxMessagesPerTaskКоличество сообщений для каждой задачи. Значение «-1» означает отсутствие ограничений. Если вы используете диапазон для одновременных потребителей (например, min max), то этот параметр можно использовать для установки значения, равного, например, 100, чтобы контролировать, насколько быстро количество потребителей будет убывать, когда требуется меньше работы.-1Целое число
Message ConvertermessageConverterПользовательский преобразователь сообщений Spring org.springframework.jms.support.converter.MessageConverter, который позволит контролировать как сопоставлять сообщение отправляемые/получаемые из jakarta.jms.Message.Строка
Message Created StrategymessageCreatedStrategyСтратегия которая вызывается при создании новых экземпляров объектов jakarta.jms.Message во время отправки сообщения JMS.Строка
Message Id EnabledmessageIdEnabledПри отправке указывает, следует ли добавлять идентификаторы сообщений. Это всего лишь подсказка для JMS-брокера. Если отправитель JMS принимает эту подсказку, идентификатору сообщения для этих сообщений должно быть присвоено значение null; если отправитель игнорирует подсказку, идентификатору сообщения должно быть присвоено его обычное уникальное значение.TrueЛогическое значение
Message Listener Container FactorymessageListenerContainerFactoryРегистрационный идентификатор MessageListenerContainerFactory, используемый для определения того, какой org.springframework.jms.listener.AbstractMessageListenerContainer использовать для обработки сообщений. При установке этого параметра, параметру Consumer Type автоматически будет присвоено значение Custom.Строка
Message Timestamp EnabledmessageTimestampEnabledУказывает, должны ли временные метки Timestamp быть включены по умолчанию при отправке сообщений. Это всего лишь подсказка для JMS-брокера. Если отправитель JMS принимает эту подсказку, временная метка этих сообщений должна быть равна нулю; если отправитель игнорирует подсказку, временная метка должна быть установлена на свое обычное значение.TrueЛогическое значение
Pub Sub No LocalpubSubNoLocalВключение этой опции предотвратит получение сообщений, которые были опубликованы этим же соединением.Логическое значение
Receive TimeoutreceiveTimeoutВремя ожидания для получения сообщений в миллисекундах.1000Длинное целое число
Recovery IntervalrecoveryIntervalУказывает интервал между попытками восстановления, т.е. при обновлении соединения, в миллисекундах.5000Длинное целое число
Request Timeout Checker IntervalrequestTimeoutCheckerInterval

Задает в миллисекундах, как часто следует проверять время ожидания запросов /ответов через JMS.

Время ожидания определяется параметром Request Timeout.

1000Длинное целое число
SynchronoussynchronousОпределяет, следует ли строго использовать синхронную обработку.FalseЛогическое значение
Temporary Queue ResolvertemporaryQueueResolverПозволяет вам задавать свой собственный распределитель для создания временных очередей (некоторые системы обмена сообщениями предъявляют особые требования к созданию временных очередей).Строка
Transfer ExceptiontransferException

Если этот параметр включен, и вы используете обмен сообщениями с запросом-ответом (InOut), а на стороне потребителя произошел сбой обмена, то вызванное исключение будет отправлено обратно в ответ в виде jakarta.jms.ObjectMessage. Если клиентом является Camel, возвращенное исключение повторно генерируется. Это позволяет использовать блок JMS в качестве связующего звена при маршрутизации - например, использовать постоянные очереди для обеспечения надежной маршрутизации.

Примечание:

Если у вас также включен Transfer Exchange, этот параметр имеет приоритет. Перехваченное исключение должно быть сериализуемым. Исходное исключение на стороне потребителя может быть преобразовано во внешнее исключение.

FalseЛогическое значение
Transfer ExchangetransferExchangeВы можете передавать не только тело сообщения и его заголовки но и все данные (объект Exchange), которые проходят через блок JMS. Передаются следующие поля: In body, Out body, Fault body, In headers, Out headers, Fault headers, свойства exchange, exchange exception. Для этого требуется, чтобы объекты были сериализуемыми. Все несериализуемые объекты будут исключены и зарегистрированы на уровне WARN. Вы должны включить эту опцию как на стороне отправителя, так и на стороне потребителя.FalseЛогическое значение
Use Message IDAs Correlation IDuseMessageIDAsCorrelationIDУказывает, следует ли всегда использовать JMSMessageID в качестве JMSCorrelationID для входящих сообщений.FalseЛогическое значение
Wait For Provision Correlation To Be Updated CounterwaitForProvisionCorrelationToBeUpdatedCounterКоличество раз, необходимое для обновления временного идентификатора корреляции до фактического идентификатора корреляции при выполнении запроса/ответа через JMS и при включенной опции Use Message IDAs Correlation ID.50Целое число
Wait For Provision Correlation To Be Updated Thread Sleeping TimewaitForProvisionCorrelationToBeUpdatedThreadSleepingTimeИнтервал в миллисекундах для перехода в спящий режим каждый раз в ожидании обновления предварительного идентификатора корреляции.100Длинное целое число
Wait For Temporary Reply To To Be Updated CounterwaitForTemporaryReplyToToBeUpdatedCounterКоличество раз, необходимое для ожидания создания и готовности временной очереди replyTo при выполнении запроса/ответа через JMS.200Целое число
Wait For Temporary Reply To To Be Updated Thread Sleeping TimewaitForTemporaryReplyToToBeUpdatedThreadSleepingTimeИнтервал в миллисекундах для перехода в спящий режим каждый раз при ожидании готовности временной очереди ответов.100Длинное целое число
Lazy Create Transaction ManagerlazyCreateTransactionManagerЕсли опция включена, то будет создан JmsTransactionManager, если значение Transacted = True и не задан Transaction ManagerTrueЛогическое значение
Transaction ManagertransactionManagerИспользуемый диспетчер транзакций.Строка
Transaction NametransactionNameНазвание используемой транзакции.Строка
Transaction TimeouttransactionTimeoutЗначение тайм-аута транзакции (в секундах), если используется режим транзакции.-1Целое число

Параметры безопасности блока JMS

Название в UIНазвание атрибутаОбязательныйОписаниеТип данныхЗначение по умолчанию
PasswordpasswordПароль для использования в ConnectionFactory. Вы также можете настроить имя пользователя/пароль непосредственно в ConnectionFactory.Строка
UsernameusernameИмя пользователя для использования в ConnectionFactory. Вы также можете настроить имя пользователя/пароль непосредственно в ConnectionFactory.Строка