搜索

63.3. 组件选项

download PDF

Spring RabbitMQ 组件支持下面列出的 29 个选项。

Name描述默认值类型

amqpAdmin (common)

Autowired Optional AMQP Admin 服务用于自动声明元素(队列、交换、绑定)。

 

AmqpAdmin

ConnectionFactory (common)

Autowired 要使用的连接工厂。必须在组件或端点上配置连接工厂。

 

ConnectionFactory

testConnectionOnStartup (common)

指定是否在启动时测试连接。这样可确保 Camel 启动所有 JMS 用户与 JMS 代理的有效连接。如果无法授予连接,则 Camel 会在启动时抛出异常。这样可确保 Camel 没有使用失败的连接启动。JMS producer 也经过测试。

false

布尔值

autoDeclare (consumer)

指定消费者是否应该在启动时自动声明交换、队列和路由密钥之间的绑定。启用这对开发可能很好,方便代理上的交换、队列和绑定。

false

布尔值

autoStartup (consumer)

指定消费者容器是否应自动启动。

true

布尔值

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

deadLetterExchange (consumer)

死信交换的名称。

 

字符串

deadLetterExchangeType (consumer)

死信交换的类型。

Enum 值:

  • direct
  • fanout
  • 标头
  • topic

direct

字符串

deadLetterQueue (consumer)

死信队列的名称。

 

字符串

deadLetterRoutingKey (consumer)

死信交换的路由密钥。

 

字符串

maximumRetryAttempts (consumer)

如果 Camel 无法处理消息,则 Rabbitmq 使用者将重试相同的消息的次数。

5

int

rejectAndDontRequeue (consumer)

Rabbitmq 使用者是否应该拒绝消息,而无需重新排队。这可让配置了代理,将失败的消息发送到 Dead Letter Exchange/Queue。

true

布尔值

retryDelay (consumer)

在 msec 中,Rabbitmq 消费者将在 Camel 无法处理的消息前等待。

1000

int

concurrentConsumers (consumer (advanced))

用户数量。

1

int

errorHandler (consumer (advanced))

使用自定义 ErrorHandler 处理消息监听器(consumer)中的异常。

 

ErrorHandler

listenerContainerFactory (consumer (advanced))

使用自定义工厂来创建和配置 ListenerContainer,供消费者用于接收消息。

 

ListenerContainerFactory

maxConcurrentConsumers (consumer (advanced))

使用者的最大数量(仅适用于 SMLC)。

 

整数

messageListenerContainerType (consumer (advanced))

MessageListenerContainer 的类型。

Enum 值:

  • DMLC
  • SMLC

DMLC

字符串

prefetchCount (consumer (advanced))

告知代理在单个请求中发送到每个消费者的消息数量。通常,这可以设置得非常高,以提高吞吐量。

250

int

retry (consumer (advanced))

要使用的自定义重试配置。如果这被配置,则不会使用用于重试的 maximumRetryAttempts 等其他设置。

 

RetryOperationsInterceptor

shutdownTimeout (consumer (advanced))

容器停止后,等待 worker 的时间(以毫秒为单位)。如果有任何 worker 在关闭信号进入时处于活跃状态,只要这些程序可以在这个超时时间内结束,就可以完成处理。

5000

long

allowNullBody (producer)

是否允许在没有正文的情况下发送消息。如果此选项为 false,且消息正文为 null,则会抛出 MessageConversionException。

false

布尔值

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

replyTimeout (producer)

在执行请求/回复消息时,指定在等待回复消息时使用的超时时间(以毫秒为单位)。默认值为 5 秒。负值表示一个不正确的超时。

5000

long

autowiredEnabled (advanced)

是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。

true

布尔值

ignoreDeclarationExceptions (advanced)

在声明时切换忽略异常,如不匹配的属性。

false

布尔值

messageConverter (advanced)

要使用自定义的 MessageConverter,以便您可以控制如何映射到 org.springframework.amqp.core.Message。

 

MessageConverter

messagePropertiesConverter (advanced)

要使用自定义 MessagePropertiesConverter,以便您可以控制如何映射到 org.springframework.amqp.core.MessageProperties。

 

MessagePropertiesConverter

HeaderFilterStrategy (filter)

使用自定义 org.apache.camel.spi.HeaderFilterStrategy 将标头过滤到或从 Camel 消息过滤。

 

HeaderFilterStrategy

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.