179.4. 选项
您可以在 JMS 端点上配置许多不同的属性,它们映射到 JMSConfiguration POJO 上的属性。
映射到 Spring JMS
许多这些属性映射到 Spring JMS 上的属性,Camel 用来发送和接收消息。因此,您可以通过咨询相关的 Spring 文档来获取这些属性的更多信息。
179.4.1. 组件选项
JMS 组件支持 81 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
configuration (advanced) | 使用共享的 JMS 配置 | JmsConfiguration | |
acceptMessagesWhile Stopping (consumer) | 指定消费者在停止时是否接受消息。如果您在运行时启动和停止 JMS 路由,您可以考虑启用此选项,同时仍然在队列上排队消息。如果此选项为 false,并且您停止了 JMS 路由,则消息可能会被拒绝,而 JMS 代理必须尝试重新设计,这一次可能被拒绝,最终该消息可能会在 JMS 代理上的死信队列中移动。要避免这种情况,建议启用这个选项。 | false | 布尔值 |
allowReplyManagerQuick Stop (consumer) | 是否在回复管理器中使用 DefaultMessageListenerContainer 用于 request-reply 消息,都允许 DefaultMessageListenerContainer.runningAllowed 标志在启用了 JmsConfiguration#isAcceptMessagesWhileStopping 时快速停止,并且 org.apache.camel.CamelContext 当前已停止。在常规 JMS 消费者中默认启用这种快速停止功能,但为了启用此标志,您必须启用此标志。 | false | 布尔值 |
acknowledgementMode (consumer) | JMS 确认模式定义为整数。允许您将特定于供应商的扩展设置为确认模式。对于常规模式,最好使用 acknowledgementModeName。 | int | |
eagerLoadingOf Properties (consumer) | 加载消息后马上启用 eager 加载 JMS 属性,这通常效率低下,因为 JMS 属性可能不需要,但有时可以尽早捕获底层 JMS 提供程序和使用 JMS 属性的问题 | false | 布尔值 |
acknowledgementModeName (consumer) | JMS 确认名称,即: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ ACKNOWLEDGE | 字符串 |
autoStartup (consumer) | 指定消费者容器是否应该自动启动。 | true | 布尔值 |
cacheLevel (consumer) | 根据 ID 为底层 JMS 资源设置缓存级别。如需了解更多详细信息,请参阅 cacheLevelName 选项。 | int | |
cacheLevelName (consumer) | 按名称为底层 JMS 资源设置缓存级别。可能的值有:CACHE_AUTO、CACHE_CONNECTION、CACHE_CONSUMER、CACHE_NONE 和 CACHE_SESSION。默认设置为 CACHE_AUTO。如需更多信息,请参阅 Spring 文档和事务缓存级别。 | CACHE_AUTO | 字符串 |
replyToCacheLevelName (producer) | 在通过 JMS 进行请求/回复时,根据回复消费者设置缓存级别。这个选项只适用于使用固定回复队列(而非临时)。默认情况下,Camel 将使用:CACHE_CONSUMER 用于 exclusive 或 shared w/ replyToSelectorName。用于没有 replyToSelectorName 的共享的 CACHE_SESSION。IBM WebSphere 等一些 JMS 代理可能需要设置 replyToCacheLevelName=CACHE_NONE 才能工作。注意:如果使用临时队列,则不允许 CACHE_NONE,您必须使用更高的值,如 CACHE_CONSUMER 或 CACHE_SESSION。 | 字符串 | |
clientId (common) | 设置要使用的 JMS 客户端 ID。请注意,如果指定,这个值必须是唯一的,且只能被单个 JMS 连接实例使用。通常只需要持久主题订阅。如果使用 Apache ActiveMQ,您可能更喜欢使用 Virtual Topics。 | 字符串 | |
concurrentConsumers (consumer) | 指定从 JMS 消耗时的默认并发用户数(不适用于 JMS 上的请求/回复)。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。当对 JMS 进行请求/回复时,选项 replyToConcurrentConsumers 用于控制回复消息监听器上的并发用户数量。 | 1 | int |
replyToConcurrent Consumers (producer) | 指定在对 JMS 进行请求/回复时的默认并发消费者数量。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。 | 1 | int |
connectionFactory (common) | 要使用的连接工厂。连接工厂必须在组件或端点上配置。 | ConnectionFactory | |
用户名 (安全性) | 用于 ConnectionFactory 的用户名。您也可以直接在 ConnectionFactory 上配置用户名/密码。 | 字符串 | |
password (security) | 用于 ConnectionFactory 的密码。您也可以直接在 ConnectionFactory 上配置用户名/密码。 | 字符串 | |
deliveryPersistent (producer) | 指定是否默认使用持久性交付。 | true | 布尔值 |
deliveryMode (producer) | 指定要使用的交付模式。可能的值有 Possibles 值,即 javax.jms.DeliveryMode 定义的值。NON_PERSISTENT = 1 和 PERSISTENT = 2. | 整数 | |
durableSubscriptionName (common) | 用于指定持久主题订阅的持久订阅者名称。也必须配置 clientId 选项。 | 字符串 | |
exceptionListener (advanced) | 指定要收到任何底层 JMS 异常的 JMS Exception Listener。 | ExceptionListener | |
errorHandler (advanced) | 指定在处理消息时抛出异常时调用的 org.springframework.util.ErrorHandler。默认情况下,如果没有配置 errorHandler,则会在 WARN 级别中记录这些例外。您可以配置日志记录级别,以及堆栈跟踪是否应该使用 errorHandlerLoggingLevel 和 errorHandlerLogStackTrace 选项记录。这样可以更容易配置,而不必对自定义 errorHandler 进行编码。 | ErrorHandler | |
errorHandlerLogging Level (logging) | 允许为日志记录无法捕获的异常配置默认 errorHandler 日志记录级别。 | WARN | LoggingLevel |
errorHandlerLogStack Trace (logging) | 允许默认 errorHandler 控制是否应记录 stacktrace。 | true | 布尔值 |
explicitQosEnabled (producer) | 设定在发送消息时应使用 deliveryMode、priority 或 timeToLiveity 的服务质量。这个选项基于 Spring 的 JmsTemplate。deliveryMode、priority 和 timeToLive 选项应用于当前端点。这与 preserveMessageQos 选项不同,该选项以消息粒度运行,读取仅来自 Camel In 消息标头的 QoS 属性。 | false | 布尔值 |
exposeListenerSession (consumer) | 指定在消耗消息时是否应公开侦听器会话。 | false | 布尔值 |
idleTaskExecutionLimit (advanced) | 指定接收任务的闲置执行的限制,而不是在其执行中收到任何消息。如果达到这个限制,则任务将关闭并离开接收其他执行任务(在动态调度的情况下;请参阅 maxConcurrentConsumers 设置)。Spring 中还有额外的文档。 | 1 | int |
idleConsumerLimit (advanced) | 指定允许在任何给定时间闲置的用户数量的限制。 | 1 | int |
maxConcurrentConsumers (consumer) | 指定从 JMS 消耗时的最大并发消费者数(不适用于 JMS 上的请求/回复)。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。当对 JMS 进行请求/回复时,选项 replyToMaxConcurrentConsumers 用于控制回复消息监听器上的并发消费者数量。 | int | |
replyToMaxConcurrent Consumers (producer) | 指定在 JMS 上使用请求/回复时的最大并发用户数。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。 | int | |
replyOnTimeoutToMax ConcurrentConsumers (producer) | 指定在通过 JMS 使用请求/回复时,进行超时时继续路由的并发消费者的最大数量。 | 1 | int |
maxMessagesPerTask (advanced) | 每个任务的消息数量。-1 代表没有限制。如果您将范围用于并发消费者(例如 min max),则此选项可用于设置 eg 100 来控制在需要较少工作时消费者缩小的速度。 | -1 | int |
messageConverter (advanced) | 使用自定义 Spring org.springframework.jms.support.converter.MessageConverter,以便您可以控制如何映射到 javax.jms.Message。 | MessageConverter | |
mapJmsMessage (advanced) | 指定 Camel 是否将收到的 JMS 消息自动映射到适合的有效负载类型,如 javax.jms.TextMessage 到 String 等。如需了解更多详细信息,请参阅映射如何工作部分。 | true | 布尔值 |
messageIdEnabled (advanced) | 发送时,指定是否应添加消息 ID。这只是 JMS Broker 的提示。如果 JMS 供应商接受这个 hint,则这些消息必须将消息 ID 设置为 null;如果供应商忽略 hint,则消息 ID 必须设置为其正常唯一值 | true | 布尔值 |
messageTimestampEnabled (advanced) | 指定默认情况下,是否应在发送消息时启用时间戳。 | true | 布尔值 |
alwaysCopyMessage (producer) | 如果为 true,Camel 会在传递给生成者发送时始终生成邮件的 JMS 消息副本。在某些情况下需要复制消息,比如当设置了 replyToDestinationSelectorName 时(通常,如果设置了 replyToDestinationSelectorName,则 Camel 会将 alwaysCopyMessage 选项设置为 true) | false | 布尔值 |
useMessageIDAs CorrelationID (advanced) | 指定 JMSMessageID 是否始终用作 InOut 消息的 JMSCorrelationID。 | false | 布尔值 |
priority (producer) | 大于 1 的值在发送时指定消息优先级(其中 0 是最低优先级,9 为最高)。还必须启用 explicitQosEnabled 选项,以便此选项有任何效果。 | 4 | int |
pubSubNoLocal (advanced) | 指定是否禁止发送其自身连接发布的消息。 | false | 布尔值 |
receiveTimeout (advanced) | 接收消息的超时时间(以毫秒为单位)。 | 1000 | long |
recoveryInterval (advanced) | 指定恢复尝试之间的间隔,即刷新连接时(以毫秒为单位)。默认值为 5000 ms,即 5 秒。 | 5000 | long |
taskExecutor (consumer) | 允许您指定自定义任务 executor 以供使用消息。 | TaskExecutor | |
deliveryDelay (producer) | 设置用于为 JMS 发送调用的交付延迟。这个选项需要 JMS 2.0 兼容代理。 | -1 | long |
timeToLive (producer) | 在发送消息时,指定消息的生存时间(以毫秒为单位)。 | -1 | long |
转换 (事务) | 指定是否使用转换模式 | false | 布尔值 |
lazyCreateTransaction Manager (事务) | 如果为 true,则 Camel 将创建一个 JmsTransactionManager,如果没有在选项 transacted=true 时注入任何 transactionManager。 | true | 布尔值 |
transactionManager (transaction) | 要使用的 Spring 事务管理器。 | PlatformTransaction Manager | |
transactionName (transaction) | 要使用的事务的名称。 | 字符串 | |
transactionTimeout (transaction) | 使用 transacted 模式,事务的超时值(以秒为单位)。 | -1 | int |
testConnectionOn 启动 (common) | 指定是否在启动时测试连接。这样可确保 Camel 启动所有 JMS 用户具有与 JMS 代理的有效连接时。如果无法授予连接,则 Camel 会在启动时抛出异常。这样可确保 Camel 没有使用失败的连接启动。JMS 制作者也经过测试。 | false | 布尔值 |
asyncStartListener (advanced) | 在启动路由时,是否异步启动 JmsConsumer 消息监听程序。例如,如果 JmsConsumer 无法获得与远程 JMS 代理的连接,那么在重试和/或故障转移时可能会阻止它。这会导致 Camel 在启动路由时阻止。通过将这个选项设置为 true,您可以让路由启动,而 JmsConsumer 使用异步模式的专用线程连接到 JMS 代理。如果使用此选项,请注意,如果无法建立连接,则会在 WARN 级别记录异常,消费者将无法接收消息;然后,您可以重启要重试的路由。 | false | 布尔值 |
asyncStopListener (advanced) | 在停止路由时,是否异步停止 JmsConsumer 消息监听程序。 | false | 布尔值 |
forceSendOriginal Message (producer) | 使用 mapJmsMessage=false Camel 时,如果您在路由过程中涉及标头(get 或 set),则创建新的 JMS 消息来发送到新的 JMS 目的地。将此选项设置为 true 以强制 Camel 发送收到的原始 JMS 消息。 | false | 布尔值 |
requestTimeout (producer) | 使用 InOut Exchange Pattern (毫秒)时等待回复的超时时间。默认值为 20 秒。您可以包含标头 CamelJmsRequestTimeout 来覆盖这个端点配置的超时值,因此每个消息单个超时值。另请参阅 requestTimeoutCheckerInterval 选项。 | 20000 | long |
requestTimeoutChecker Interval (advanced) | 配置 Camel 在通过 JMS 进行请求/回复时应检查超时交换的频率。默认情况下,Camel 会每秒检查一次。但是,如果您在超时时必须更快地响应,您可以降低这个间隔,以便更频繁地检查。超时由选项 requestTimeout 决定。 | 1000 | long |
transferExchange (advanced) | 您可以通过线路传输交换,而不只是正文和标头。以下字段会被传输:在 body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception。这要求对象是可序列化的。Camel 将排除任何非可序列化对象,并将其记录在 WARN 级别。您必须在生成者和消费者端启用这个选项,因此 Camel 知道有效负载是一个交换而不是常规有效负载。 | false | 布尔值 |
transferException (advanced) | 如果启用了,并且您在使用 Request Reply messaging (InOut),且 Exchange 在消费者端失败,则原因例外将作为 javax.jms.ObjectMessage 发回。如果客户端是 Camel,则返回的例外将被重新箭头。这样,您可以在路由中使用 Camel JMS 作为网桥 - 例如,使用持久性队列启用可靠的路由。请注意,如果您也启用了 transferExchange,这个选项将具有优先权。需要 Caught 异常才能按顺序排序。消费者端的原始 Exception 可以嵌套在外部异常中,如返回到制作者时 org.apache.camel.RuntimeCamelException。 | false | 布尔值 |
transferFault (advanced) | 如果启用,并且您正在使用 Request Reply messaging (InOut),且 Exchange 在消费者端失败(不是例外),则 org.apache.camel.Message#isFault ()上的 fault 标志将作为 JMS 标头的响应中发送,密钥为 JmsConstants#JMS_TRANSFER_FAULT。如果客户端是 Camel,则返回的 fault 标志将在 org.apache.camel.Message#setFault (布尔值)上设置。当使用支持故障的 Camel 组件(如 cxf 或 spring-ws )时,您可能需要启用此功能。 | false | 布尔值 |
jmsOperations (advanced) | 允许您使用自己的 org.springframework.jms.core.JmsOperations 接口实现。Camel 使用 JmsTemplate 作为默认值。可用于测试目的,但不像 spring API 文档中所述使用。 | JmsOperations | |
destinationResolver (advanced) | 可插拔 org.springframework.jms.support.destination.DestinationResolver,允许您使用自己的解析器(例如,在 JNDI 注册表中查找实际目的地)。 | DestinationResolver | |
replyToType (producer) | 在通过 JMS 进行 request/reply 时,允许显式指定用于 replyTo 队列的策略类型。可能的值有: Temporary、Shared 或 Exclusive。默认情况下,Camel 将使用临时队列。但是,如果配置了 replyTo,则默认使用 Shared。这个选项允许您使用专用队列而不是共享队列。如需了解更多详细信息,请参阅 Camel JMS 文档,特别是有关在集群环境中运行时的影响的信息,以及共享回复队列的性能比其 alternatives Temporary 和 Exclusive 的性能较低。 | ReplyToType | |
preserveMessageQos (producer) | 如果设置为 true,如果要使用消息中指定的 QoS 设置发送消息,而不是 JMS 端点上的 QoS 设置。以下三个标头被视为 JMSPriority、JMSDeliveryMode 和 JMSExpiration。您可以提供 all 或 only some them。如果没有提供,Camel 将回退到使用端点中的值。因此,在使用此选项时,标头会覆盖来自端点的值。相反,explicitQosEnabled 选项将使用端点上设置的选项,而不是来自消息标头的值。 | false | 布尔值 |
asyncConsumer (consumer) | JmsConsumer 是否异步处理 Exchange。如果启用,则 JmsConsumer 可能会从 JMS 队列中获取下一个消息,而前面的消息会被异步处理(通过异步路由引擎)。这意味着消息可能没有完全严格按照顺序进行处理。如果禁用(作为默认),则交换在 JmsConsumer 将在从 JMS 队列获取下一个消息之前被完全处理。请注意,如果启用了 transacted,则 asyncConsumer=true 不会异步运行,因为事务必须同步执行(Camel 3.0 可能支持 async 事务)。 | false | 布尔值 |
allowNullBody (producer) | 是否允许发送不包含正文的消息。如果此选项为 false,并且消息正文为 null,则会抛出一个 JMSException。 | true | 布尔值 |
includeSentJMS MessageID (producer) | 仅在使用 InOnly 发送到 JMS 目的地时(例如触发和忘记)。启用此选项将增强 Camel Exchange 与实际的 JMSMessageID,在消息发送到 JMS 目的地时供 JMS 客户端使用。 | false | 布尔值 |
includeAllJMSX Properties (advanced) | 在从 JMS 到 Camel 消息映射时,是否包含所有 JMSXxxx 属性。把它设置为 true 将包括 JMSXAppID 和 JMSXUserID 等属性。注: 如果您使用自定义 headerFilterStrategy,则这个选项不适用。 | false | 布尔值 |
defaultTaskExecutor Type (consumer) | 指定 DefaultMessageListenerContainer 中使用哪些默认 TaskExecutor 类型,用于消费者端点和生成者端点的 ReplyTo consumer。可能的值:simpleAsync (使用 Spring 的 SimpleAsyncTaskExecutor)或 ThreadPool (使用 Spring 的 ThreadPoolTaskExecutor 带有最佳值 - 缓存的 threadpool-like)。如果没有设置,则默认为前面的行为,它对消费者使用缓存的线程池,并将 SimpleAsync 用于回复消费者。建议使用 ThreadPool 来减少弹性配置中的线程垃圾箱,并动态增加和减少并发消费者。 | DefaultTaskExecutor Type | |
jmsKeyFormatStrategy (advanced) | 用于编码和解码 JMS 密钥的可插拔策略,以便它们能够与 JMS 规范兼容。Camel 提供了两个开箱即用的实现:default 和 passthrough。默认策略将安全地 marshal 句点和连字符(. 和 -)。passthrough 策略将密钥保留为原样。可用于 JMS 代理,这些代理不关心 JMS 标头键是否包含非法字符。您可以提供自己的 org.apache.camel.component.jms.JmsKeyFormatStrategy 的实现,并使用 # 表示法引用它。 | JmsKeyFormatStrategy | |
allowAdditionalHeaders (producer) | 此选项用于允许其他标头,它们可能具有根据 JMS 规范无效的值。例如,一些消息系统(如 WMQ)使用前缀 JMS_IBM_MQMD_ 来执行此操作,其中包含带有字节数组或其他无效类型的值。您可以指定多个标头名称,用逗号分开,并使用 作为通配符匹配的后缀。 | 字符串 | |
queueBrowseStrategy (advanced) | 在浏览队列时使用自定义 QueueBrowseStrategy | QueueBrowseStrategy | |
messageCreatedStrategy (advanced) | 使用在 Camel 发送 JMS 消息时调用的 given MessageCreatedStrategy,在 Camel 创建 javax.jms.Message 对象的新实例时调用。 | MessageCreatedStrategy | |
waitForProvision CorrelationToBeUpdated Counter (advanced) | 在通过 JMS 进行请求/回复时,等待 provisional correlation id 更新为实际关联 ID 的次数,以及启用选项 useMessageIDAsCorrelationID 的时间。 | 50 | int |
waitForProvision CorrelationToBeUpdated ThreadSleepingTime (advanced) | 等待更新调配关联 id 期间每次处于睡眠状态的间隔。 | 100 | long |
correlationProperty (producer) | 使用此 JMS 属性关联 InOut 交换模式(request-reply)中的消息,而不是 JMSCorrelationID 属性。这样,您可以使用 JMSCorrelationID JMS 属性与不关联消息的系统交换消息。如果使用的 JMSCorrelationID 不会被 Camel 使用或设置。如果名称下的消息标头中未提供,则此处命名属性的值将生成。 | 字符串 | |
subscriptionDurable (consumer) | 设置是否使订阅持久化。要使用的持久订阅名称可以通过 subscriptionName 属性指定。默认值为 false。把它设置为 true 以注册持久订阅,通常与 subscriptionName 值结合使用(除非您的消息监听程序类名称足以满足订阅名称)。仅在侦听主题(pub-sub domain)时有意义,因此此方法也会切换 pubSubDomain 标志。 | false | 布尔值 |
subscriptionShared (consumer) | 设置是否共享订阅。要使用的共享订阅名称可以通过 subscriptionName 属性指定。默认值为 false。把它设置为 true 来注册共享订阅,通常与 subscriptionName 值结合使用(除非您的消息监听程序类名称足以作为订阅名称使用)。请注意,共享订阅也可能是持久的,因此此标志也可以与 subscriptionDurable 结合使用。仅在侦听主题(pub-sub domain)时有意义,因此此方法也会切换 pubSubDomain 标志。需要 JMS 2.0 兼容消息代理。 | false | 布尔值 |
subscriptionName (consumer) | 设置要创建的订阅的名称。在带有共享或持久订阅的主题(pub-sub domain)时应用。订阅名称需要在此客户端的 JMS 客户端 ID 中唯一。default 是指定消息监听程序的类名称。注:每个订阅只允许 1 个并发消费者(这是此消息监听程序容器的默认值),除了一个共享订阅(需要 JMS 2.0)。 | 字符串 | |
streamMessageType Enabled (producer) | 设置 StreamMessage 类型是否已启用。通过以 BytesMessage 或 StreamMessage 发送的消息有效负载,如 files、InputStream 等。这个选项控制将使用的 kind。默认情况下,使用 BytesMessage 来强制将整个消息有效负载读取到内存中。通过启用这个选项,消息有效负载以块的形式读取到内存中,每个块都会被写入 StreamMessage,直到没有更多数据。 | false | 布尔值 |
formatDateHeadersTo Iso8601 (producer) | 设置日期标头是否应根据 ISO 8601 标准进行格式化。 | false | 布尔值 |
headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
179.4.2. 端点选项
JMS 端点使用 URI 语法进行配置:
jms:destinationType:destinationName
使用以下路径和查询参数:
179.4.3. 路径参数(2 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
destinationType | 要使用的目标类型 | queue | 字符串 |
destinationName | 用作目的地的队列或主题的 必需 名称 | 字符串 |
179.4.4. 查询参数(93 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
clientId (common) | 设置要使用的 JMS 客户端 ID。请注意,如果指定,这个值必须是唯一的,且只能被单个 JMS 连接实例使用。通常只需要持久主题订阅。如果使用 Apache ActiveMQ,您可能更喜欢使用 Virtual Topics。 | 字符串 | |
connectionFactory (common) | 如果连接工厂没有为 setTemplateConnectionFactory (ConnectionFactory)或 setListenerConnectionFactory (ConnectionFactory)指定,则使用默认的连接工厂。 | ConnectionFactory | |
disableReplyTo (common) | 指定 Camel 是否忽略消息中的 JMSReplyTo 标头。如果为 true,Camel 不会向 JMSReplyTo 标头中指定的目的地发送回复。如果您希望 Camel 消耗路由,且您不想 Camel 自动发送回复消息,您可以使用这个选项,因为代码中的另一个组件处理回复消息。如果要使用 Camel 作为不同消息代理之间的代理,而您想要将消息从一个系统路由到另一个系统,也可以使用此选项。 | false | 布尔值 |
durableSubscriptionName (common) | 用于指定持久主题订阅的持久订阅者名称。也必须配置 clientId 选项。 | 字符串 | |
jmsMessageType (common) | 允许您强制使用特定的 javax.jms.Message 实现来发送 JMS 消息。可能的值有:Bytes, Map, Object, Stream, Text。默认情况下,Camel 将决定要从 In body 类型中使用的 JMS 消息类型。这个选项允许您指定它。 | JmsMessageType | |
testConnectionOnStartup (common) | 指定是否在启动时测试连接。这样可确保 Camel 启动所有 JMS 用户具有与 JMS 代理的有效连接时。如果无法授予连接,则 Camel 会在启动时抛出异常。这样可确保 Camel 没有使用失败的连接启动。JMS 制作者也经过测试。 | false | 布尔值 |
acknowledgementModeName (consumer) | JMS 确认名称,即: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ ACKNOWLEDGE | 字符串 |
asyncConsumer (consumer) | JmsConsumer 是否异步处理 Exchange。如果启用,则 JmsConsumer 可能会从 JMS 队列中获取下一个消息,而前面的消息会被异步处理(通过异步路由引擎)。这意味着消息可能没有完全严格按照顺序进行处理。如果禁用(作为默认),则交换在 JmsConsumer 将在从 JMS 队列获取下一个消息之前被完全处理。请注意,如果启用了 transacted,则 asyncConsumer=true 不会异步运行,因为事务必须同步执行(Camel 3.0 可能支持 async 事务)。 | false | 布尔值 |
autoStartup (consumer) | 指定消费者容器是否应该自动启动。 | true | 布尔值 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
cacheLevel (consumer) | 根据 ID 为底层 JMS 资源设置缓存级别。如需了解更多详细信息,请参阅 cacheLevelName 选项。 | int | |
cacheLevelName (consumer) | 按名称为底层 JMS 资源设置缓存级别。可能的值有:CACHE_AUTO、CACHE_CONNECTION、CACHE_CONSUMER、CACHE_NONE 和 CACHE_SESSION。默认设置为 CACHE_AUTO。如需更多信息,请参阅 Spring 文档和事务缓存级别。 | CACHE_AUTO | 字符串 |
concurrentConsumers (consumer) | 指定从 JMS 消耗时的默认并发用户数(不适用于 JMS 上的请求/回复)。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。当对 JMS 进行请求/回复时,选项 replyToConcurrentConsumers 用于控制回复消息监听器上的并发用户数量。 | 1 | int |
artemisConsumerPriority (consumer) | 通过消费者优先级,您可以确保高优先级消费者在激活时收到消息。通常,连接到队列的活动用户以轮循方式从它接收消息。使用消费者优先级时,如果有多个活跃的消费者具有相同的高优先级,则会发送循环消息。只有高优先级消费者没有使用消息的信用时,消息才会进入较低优先级消费者,或者这些高优先级消费者已拒绝接受该消息(例如,因为它不符合与消费者关联的任何选择器的条件)。 | int | |
maxConcurrentConsumers (consumer) | 指定从 JMS 消耗时的最大并发消费者数(不适用于 JMS 上的请求/回复)。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。当对 JMS 进行请求/回复时,选项 replyToMaxConcurrentConsumers 用于控制回复消息监听器上的并发消费者数量。 | int | |
replyTo (consumer) | 提供一个显式 ReplyTo 目的地,它覆盖任何进入的 Message.getJMSReplyTo ()值。 | 字符串 | |
replyToDeliveryPersistent (consumer) | 指定是否默认使用持久性发送进行回复。 | true | 布尔值 |
selector (consumer) | 设置要使用的 JMS 选择器 | 字符串 | |
subscriptionDurable (consumer) | 设置是否使订阅持久化。要使用的持久订阅名称可以通过 subscriptionName 属性指定。默认值为 false。把它设置为 true 以注册持久订阅,通常与 subscriptionName 值结合使用(除非您的消息监听程序类名称足以满足订阅名称)。仅在侦听主题(pub-sub domain)时有意义,因此此方法也会切换 pubSubDomain 标志。 | false | 布尔值 |
subscriptionName (consumer) | 设置要创建的订阅的名称。在带有共享或持久订阅的主题(pub-sub domain)时应用。订阅名称需要在此客户端的 JMS 客户端 ID 中唯一。default 是指定消息监听程序的类名称。注:每个订阅只允许 1 个并发消费者(这是此消息监听程序容器的默认值),除了一个共享订阅(需要 JMS 2.0)。 | 字符串 | |
subscriptionShared (consumer) | 设置是否共享订阅。要使用的共享订阅名称可以通过 subscriptionName 属性指定。默认值为 false。把它设置为 true 来注册共享订阅,通常与 subscriptionName 值结合使用(除非您的消息监听程序类名称足以作为订阅名称使用)。请注意,共享订阅也可能是持久的,因此此标志也可以与 subscriptionDurable 结合使用。仅在侦听主题(pub-sub domain)时有意义,因此此方法也会切换 pubSubDomain 标志。需要 JMS 2.0 兼容消息代理。 | false | 布尔值 |
acceptMessagesWhileStopping (consumer) | 指定消费者在停止时是否接受消息。如果您在运行时启动和停止 JMS 路由,您可以考虑启用此选项,同时仍然在队列上排队消息。如果此选项为 false,并且您停止了 JMS 路由,则消息可能会被拒绝,而 JMS 代理必须尝试重新设计,这一次可能被拒绝,最终该消息可能会在 JMS 代理上的死信队列中移动。要避免这种情况,建议启用这个选项。 | false | 布尔值 |
allowReplyManagerQuickStop (consumer) | 是否在回复管理器中使用 DefaultMessageListenerContainer 用于 request-reply 消息,都允许 DefaultMessageListenerContainer#runningAllowed ()标志在 JmsConfiguration#isAcceptMessagesWhileStopping ()被启用,并且 org.apache.camel.CamelContext 当前已停止。在常规 JMS 消费者中默认启用这种快速停止功能,但为了启用此标志,您必须启用此标志。 | false | 布尔值 |
consumerType (consumer) | 要使用的消费者类型,可以是: Simple、Default 或 Custom 之一。consumer 类型决定要使用的 Spring JMS 侦听器。default 将使用 org.springframework.jms.listener.DefaultMessageListenerContainer,Simple 将使用 org.springframework.jms.listener.SimpleMessageListenerContainer。指定 Custom 时,messageListenerContainerFactory 选项定义的 MessageListenerContainerFactory 选项将决定要使用的 org.springframework.jms.listener.AbstractMessageListenerContainer。 | default | ConsumerType |
defaultTaskExecutorType (consumer) | 指定 DefaultMessageListenerContainer 中使用哪些默认 TaskExecutor 类型,用于消费者端点和生成者端点的 ReplyTo consumer。可能的值:simpleAsync (使用 Spring 的 SimpleAsyncTaskExecutor)或 ThreadPool (使用 Spring 的 ThreadPoolTaskExecutor 带有最佳值 - 缓存的 threadpool-like)。如果没有设置,则默认为前面的行为,它对消费者使用缓存的线程池,并将 SimpleAsync 用于回复消费者。建议使用 ThreadPool 来减少弹性配置中的线程垃圾箱,并动态增加和减少并发消费者。 | DefaultTaskExecutor Type | |
eagerLoadingOfProperties (consumer) | 加载消息后马上启用对 JMS 属性和有效负载的 eager 加载,这通常效率低下,因为 JMS 属性可能不需要,但有时可以尽早地捕获与底层 JMS 提供程序和使用 JMS 属性相关的问题 | false | 布尔值 |
exceptionHandler (consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
exposeListenerSession (consumer) | 指定在消耗消息时是否应公开侦听器会话。 | false | 布尔值 |
replyToSameDestination Allowed (consumer) | 是否允许 JMS 使用者向消费者使用的同一目的地发送回复消息。这可防止通过消耗并发送相同消息到其自身的无端循环。 | false | 布尔值 |
taskExecutor (consumer) | 允许您指定自定义任务 executor 以供使用消息。 | TaskExecutor | |
deliveryDelay (producer) | 设置用于为 JMS 发送调用的交付延迟。这个选项需要 JMS 2.0 兼容代理。 | -1 | long |
deliveryMode (producer) | 指定要使用的交付模式。Possibles 值是由 javax.jms.DeliveryMode 定义的值。NON_PERSISTENT = 1 和 PERSISTENT = 2. | 整数 | |
deliveryPersistent (producer) | 指定是否默认使用持久性交付。 | true | 布尔值 |
explicitQosEnabled (producer) | 设定在发送消息时应使用 deliveryMode、priority 或 timeToLiveity 的服务质量。这个选项基于 Spring 的 JmsTemplate。deliveryMode、priority 和 timeToLive 选项应用于当前端点。这与 preserveMessageQos 选项不同,该选项以消息粒度运行,读取仅来自 Camel In 消息标头的 QoS 属性。 | false | 布尔值 |
formatDateHeadersToIso8601 (producer) | 设置日期标头是否应根据 ISO 8601 标准进行格式化。 | false | 布尔值 |
preserveMessageQos (producer) | 如果设置为 true,如果要使用消息中指定的 QoS 设置发送消息,而不是 JMS 端点上的 QoS 设置。以下三个标头被视为 JMSPriority、JMSDeliveryMode 和 JMSExpiration。您可以提供 all 或 only some them。如果没有提供,Camel 将回退到使用端点中的值。因此,在使用此选项时,标头会覆盖来自端点的值。相反,explicitQosEnabled 选项将使用端点上设置的选项,而不是来自消息标头的值。 | false | 布尔值 |
priority (producer) | 大于 1 的值在发送时指定消息优先级(其中 0 是最低优先级,9 为最高)。还必须启用 explicitQosEnabled 选项,以便此选项有任何效果。 | 4 | int |
replyToConcurrentConsumers (producer) | 指定在对 JMS 进行请求/回复时的默认并发消费者数量。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。 | 1 | int |
replyToMaxConcurrent Consumers (producer) | 指定在 JMS 上使用请求/回复时的最大并发用户数。另请参阅 maxMessagesPerTask 选项,以控制线程的动态扩展/关闭。 | int | |
replyToOnTimeoutMax ConcurrentConsumers (producer) | 指定在通过 JMS 使用请求/回复时,进行超时时继续路由的并发消费者的最大数量。 | 1 | int |
replyToOverride (producer) | 在 JMS 消息中提供显式 ReplyTo 目的地,它会覆盖 replyTo 的设置。如果您要将消息转发到远程队列,并从 ReplyTo 目的地接收回复消息,这很有用。 | 字符串 | |
replyToType (producer) | 在通过 JMS 进行 request/reply 时,允许显式指定用于 replyTo 队列的策略类型。可能的值有: Temporary、Shared 或 Exclusive。默认情况下,Camel 将使用临时队列。但是,如果配置了 replyTo,则默认使用 Shared。这个选项允许您使用专用队列而不是共享队列。如需了解更多详细信息,请参阅 Camel JMS 文档,特别是有关在集群环境中运行时的影响的信息,以及共享回复队列的性能比其 alternatives Temporary 和 Exclusive 的性能较低。 | ReplyToType | |
requestTimeout (producer) | 使用 InOut Exchange Pattern (毫秒)时等待回复的超时时间。默认值为 20 秒。您可以包含标头 CamelJmsRequestTimeout 来覆盖这个端点配置的超时值,因此每个消息单个超时值。另请参阅 requestTimeoutCheckerInterval 选项。 | 20000 | long |
timeToLive (producer) | 在发送消息时,指定消息的生存时间(以毫秒为单位)。 | -1 | long |
allowAdditionalHeaders (producer) | 此选项用于允许其他标头,它们可能具有根据 JMS 规范无效的值。例如,一些消息系统(如 WMQ)使用前缀 JMS_IBM_MQMD_ 来执行此操作,其中包含带有字节数组或其他无效类型的值。您可以指定多个标头名称,用逗号分开,并使用 作为通配符匹配的后缀。 | 字符串 | |
allowNullBody (producer) | 是否允许发送不包含正文的消息。如果此选项为 false,并且消息正文为 null,则会抛出一个 JMSException。 | true | 布尔值 |
alwaysCopyMessage (producer) | 如果为 true,Camel 会在传递给生成者发送时始终生成邮件的 JMS 消息副本。在某些情况下需要复制消息,比如当设置了 replyToDestinationSelectorName 时(通常,如果设置了 replyToDestinationSelectorName,则 Camel 会将 alwaysCopyMessage 选项设置为 true) | false | 布尔值 |
correlationProperty (producer) | 使用此 JMS 属性关联 InOut 交换模式(request-reply)中的消息,而不是 JMSCorrelationID 属性。这样,您可以使用 JMSCorrelationID JMS 属性与不关联消息的系统交换消息。如果使用的 JMSCorrelationID 不会被 Camel 使用或设置。如果名称下的消息标头中未提供,则此处命名属性的值将生成。 | 字符串 | |
disableTimeToLive (producer) | 使用这个选项强制禁用生存时间。例如,当您通过 JMS 进行请求/回复时,Camel 默认将使用 requestTimeout 值作为发送消息的时间。问题是发送方和接收器系统必须同步其时钟,因此它们同步。这并非始终容易存档。因此,您可以使用 disableTimeToLive=true 来在发送的消息上将时间设置为 live 值。然后,该消息不会在接收器系统上过期。如需了解更多详细信息,请参见以下小节中关于 live 的时间。 | false | 布尔值 |
forceSendOriginalMessage (producer) | 使用 mapJmsMessage=false Camel 时,如果您在路由过程中涉及标头(get 或 set),则创建新的 JMS 消息来发送到新的 JMS 目的地。将此选项设置为 true 以强制 Camel 发送收到的原始 JMS 消息。 | false | 布尔值 |
includeSentJMSMessageID (producer) | 仅在使用 InOnly 发送到 JMS 目的地时(例如触发和忘记)。启用此选项将增强 Camel Exchange 与实际的 JMSMessageID,在消息发送到 JMS 目的地时供 JMS 客户端使用。 | false | 布尔值 |
replyToCacheLevelName (producer) | 在通过 JMS 进行请求/回复时,根据回复消费者设置缓存级别。这个选项只适用于使用固定回复队列(而非临时)。默认情况下,Camel 将使用:CACHE_CONSUMER 用于 exclusive 或 shared w/ replyToSelectorName。用于没有 replyToSelectorName 的共享的 CACHE_SESSION。IBM WebSphere 等一些 JMS 代理可能需要设置 replyToCacheLevelName=CACHE_NONE 才能工作。注意:如果使用临时队列,则不允许 CACHE_NONE,您必须使用更高的值,如 CACHE_CONSUMER 或 CACHE_SESSION。 | 字符串 | |
replyToDestinationSelector Name (producer) | 使用要使用的固定名称设置 JMS Selector,以便在使用共享队列时过滤您自己的回复(即,如果您不使用临时回复队列)。 | 字符串 | |
streamMessageTypeEnabled (producer) | 设置 StreamMessage 类型是否已启用。通过以 BytesMessage 或 StreamMessage 发送的消息有效负载,如 files、InputStream 等。这个选项控制将使用的 kind。默认情况下,使用 BytesMessage 来强制将整个消息有效负载读取到内存中。通过启用这个选项,消息有效负载以块的形式读取到内存中,每个块都会被写入 StreamMessage,直到没有更多数据。 | false | 布尔值 |
allowSerializedHeaders (advanced) | 控制是否包含序列化标头。仅在 isTransferExchange ()为 true 时应用。这要求对象是可序列化的。Camel 将排除任何非可序列化对象,并将其记录在 WARN 级别。 | false | 布尔值 |
asyncStartListener (advanced) | 在启动路由时,是否异步启动 JmsConsumer 消息监听程序。例如,如果 JmsConsumer 无法获得与远程 JMS 代理的连接,那么在重试和/或故障转移时可能会阻止它。这会导致 Camel 在启动路由时阻止。通过将这个选项设置为 true,您可以让路由启动,而 JmsConsumer 使用异步模式的专用线程连接到 JMS 代理。如果使用此选项,请注意,如果无法建立连接,则会在 WARN 级别记录异常,消费者将无法接收消息;然后,您可以重启要重试的路由。 | false | 布尔值 |
asyncStopListener (advanced) | 在停止路由时,是否异步停止 JmsConsumer 消息监听程序。 | false | 布尔值 |
destinationResolver (advanced) | 可插拔 org.springframework.jms.support.destination.DestinationResolver,允许您使用自己的解析器(例如,在 JNDI 注册表中查找实际目的地)。 | DestinationResolver | |
errorHandler (advanced) | 指定在处理消息时抛出异常时调用的 org.springframework.util.ErrorHandler。默认情况下,如果没有配置 errorHandler,则会在 WARN 级别中记录这些例外。您可以配置日志记录级别,以及堆栈跟踪是否应该使用 errorHandlerLoggingLevel 和 errorHandlerLogStackTrace 选项记录。这样可以更容易配置,而不必对自定义 errorHandler 进行编码。 | ErrorHandler | |
exceptionListener (advanced) | 指定要收到任何底层 JMS 异常的 JMS Exception Listener。 | ExceptionListener | |
headerFilterStrategy (advanced) | 使用自定义 HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
idleConsumerLimit (advanced) | 指定允许在任何给定时间闲置的用户数量的限制。 | 1 | int |
idleTaskExecutionLimit (advanced) | 指定接收任务的闲置执行的限制,而不是在其执行中收到任何消息。如果达到这个限制,则任务将关闭并离开接收其他执行任务(在动态调度的情况下;请参阅 maxConcurrentConsumers 设置)。Spring 中还有额外的文档。 | 1 | int |
includeAllJMSXProperties (advanced) | 在从 JMS 到 Camel 消息映射时,是否包含所有 JMSXxxx 属性。把它设置为 true 将包括 JMSXAppID 和 JMSXUserID 等属性。注: 如果您使用自定义 headerFilterStrategy,则这个选项不适用。 | false | 布尔值 |
jmsKeyFormatStrategy (advanced) | 用于编码和解码 JMS 密钥的可插拔策略,以便它们能够与 JMS 规范兼容。Camel 提供了两个开箱即用的实现:default 和 passthrough。默认策略将安全地 marshal 句点和连字符(. 和 -)。passthrough 策略将密钥保留为原样。可用于 JMS 代理,这些代理不关心 JMS 标头键是否包含非法字符。您可以提供自己的 org.apache.camel.component.jms.JmsKeyFormatStrategy 的实现,并使用 # 表示法引用它。 | 字符串 | |
mapJmsMessage (advanced) | 指定 Camel 是否将收到的 JMS 消息自动映射到适合的有效负载类型,如 javax.jms.TextMessage 到 String 等。 | true | 布尔值 |
maxMessagesPerTask (advanced) | 每个任务的消息数量。-1 代表没有限制。如果您将范围用于并发消费者(例如 min max),则此选项可用于设置 eg 100 来控制在需要较少工作时消费者缩小的速度。 | -1 | int |
messageConverter (advanced) | 使用自定义 Spring org.springframework.jms.support.converter.MessageConverter,以便您可以控制如何映射到 javax.jms.Message。 | MessageConverter | |
messageCreatedStrategy (advanced) | 使用在 Camel 发送 JMS 消息时调用的 given MessageCreatedStrategy,在 Camel 创建 javax.jms.Message 对象的新实例时调用。 | MessageCreatedStrategy | |
messageIdEnabled (advanced) | 发送时,指定是否应添加消息 ID。这只是 JMS Broker 的提示。如果 JMS 供应商接受这个 hint,则这些消息必须将消息 ID 设置为 null;如果供应商忽略 hint,则消息 ID 必须设置为其正常唯一值 | true | 布尔值 |
messageListenerContainer Factory (advanced) | 用于决定使用消息的 org.springframework.jms.listener.AbstractMessageListenerContainer 的 MessageListenerContainerFactory 的 registry ID。设置此选项会自动将 consumerType 设置为 Custom。 | MessageListener ContainerFactory | |
messageTimestampEnabled (advanced) | 指定默认情况下,是否应在发送消息时启用时间戳。这只是 JMS Broker 的提示。如果 JMS 供应商接受这个 hint,则这些消息必须将时间戳设置为零;如果供应商忽略 hint,则必须将时间戳设置为其正常值 | true | 布尔值 |
pubSubNoLocal (advanced) | 指定是否禁止发送其自身连接发布的消息。 | false | 布尔值 |
receiveTimeout (advanced) | 接收消息的超时时间(以毫秒为单位)。 | 1000 | long |
recoveryInterval (advanced) | 指定恢复尝试之间的间隔,即刷新连接时(以毫秒为单位)。默认值为 5000 ms,即 5 秒。 | 5000 | long |
requestTimeoutChecker Interval (advanced) | 配置 Camel 在通过 JMS 进行请求/回复时应检查超时交换的频率。默认情况下,Camel 会每秒检查一次。但是,如果您在超时时必须更快地响应,您可以降低这个间隔,以便更频繁地检查。超时由选项 requestTimeout 决定。 | 1000 | long |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
transferException (advanced) | 如果启用了,并且您在使用 Request Reply messaging (InOut),且 Exchange 在消费者端失败,则原因例外将作为 javax.jms.ObjectMessage 发回。如果客户端是 Camel,则返回的例外将被重新箭头。这样,您可以在路由中使用 Camel JMS 作为网桥 - 例如,使用持久性队列启用可靠的路由。请注意,如果您也启用了 transferExchange,这个选项将具有优先权。需要 Caught 异常才能按顺序排序。消费者端的原始 Exception 可以嵌套在外部异常中,如返回到制作者时 org.apache.camel.RuntimeCamelException。 | false | 布尔值 |
transferExchange (advanced) | 您可以通过线路传输交换,而不只是正文和标头。以下字段会被传输:在 body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception。这要求对象是可序列化的。Camel 将排除任何非可序列化对象,并将其记录在 WARN 级别。您必须在生成者和消费者端启用这个选项,因此 Camel 知道有效负载是一个交换而不是常规有效负载。 | false | 布尔值 |
transferFault (advanced) | 如果启用,并且您正在使用 Request Reply messaging (InOut),且 Exchange 在消费者端失败(不是例外),则 org.apache.camel.Message#isFault ()上的 fault 标志将作为 JMS 标头的响应中发送,密钥为 JmsConstants#JMS_TRANSFER_FAULT。如果客户端是 Camel,则返回的 fault 标志将在 org.apache.camel.Message#setFault (布尔值)上设置。当使用支持故障的 Camel 组件(如 cxf 或 spring-ws )时,您可能需要启用此功能。 | false | 布尔值 |
useMessageIDAsCorrelation ID (advanced) | 指定 JMSMessageID 是否始终用作 InOut 消息的 JMSCorrelationID。 | false | 布尔值 |
waitForProvisionCorrelation ToBeUpdatedCounter (advanced) | 在通过 JMS 进行请求/回复时,等待 provisional correlation id 更新为实际关联 ID 的次数,以及启用选项 useMessageIDAsCorrelationID 的时间。 | 50 | int |
waitForProvisionCorrelation ToBeUpdatedThreadSleeping Time (advanced) | 等待更新调配关联 id 期间每次处于睡眠状态的间隔。 | 100 | long |
errorHandlerLoggingLevel (logging) | 允许为日志记录无法捕获的异常配置默认 errorHandler 日志记录级别。 | WARN | LoggingLevel |
errorHandlerLogStackTrace (logging) | 允许默认 errorHandler 控制是否应记录 stacktrace。 | true | 布尔值 |
password (security) | 用于 ConnectionFactory 的密码。您也可以直接在 ConnectionFactory 上配置用户名/密码。 | 字符串 | |
用户名 (安全性) | 用于 ConnectionFactory 的用户名。您也可以直接在 ConnectionFactory 上配置用户名/密码。 | 字符串 | |
转换 (事务) | 指定是否使用转换模式 | false | 布尔值 |
lazyCreateTransaction Manager (事务) | 如果为 true,则 Camel 将创建一个 JmsTransactionManager,如果没有在选项 transacted=true 时注入任何 transactionManager。 | true | 布尔值 |
transactionManager (transaction) | 要使用的 Spring 事务管理器。 | PlatformTransaction Manager | |
transactionName (transaction) | 要使用的事务的名称。 | 字符串 | |
transactionTimeout (transaction) | 使用 transacted 模式,事务的超时值(以秒为单位)。 | -1 | int |