133.5. 端点选项


Spring RabbitMQ 端点使用 URI 语法进行配置:

spring-rabbitmq:exchangeName
Copy to Clipboard Toggle word wrap

以下是路径和查询参数:

133.5.1. 路径参数(1 参数)

Expand
Name描述默认值类型

exchangeName (common)

必需 The Exchange name 决定生成的消息发送到的交换。如果是消费者,交换名称决定了队列将绑定到的交换。注意:要使用默认交换,不使用空名称,而是使用 default。

 

字符串

133.5.2. 查询参数(34 参数)

Expand
Name描述默认值类型

ConnectionFactory (common)

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

 

ConnectionFactory

disableReplyTo (common)

指定 Camel 是否忽略消息中的 ReplyTo 标头。如果为 true,Camel 不会发送回复回 ReplyTo 标头中指定的目的地。如果您希望 Camel 从路由消耗且您不希望 Camel 自动发送回复消息,因为代码中的另一个组件处理回复消息,则可以使用这个选项。如果要使用 Camel 作为不同消息代理之间的代理,并希望将消息从一个系统路由到另一个系统,也可以使用这个选项。

false

布尔值

routingKey (common)

要使用的路由键的值。默认为空,在使用默认(或任何直接)交换时,这并不有用,但如果交换是实例的标头交换,则正常。

 

字符串

testConnectionOnStartup (common)

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

false

布尔值

acknowledgeMode (consumer)

标志控制与消息确认相关的容器的行为。最常见的用法是让容器处理确认(因此,侦听器不需要了解频道或消息)。设置为 AcknowledgeMode.MANUAL,如果监听器将使用 Channel.basicAck (长,布尔值)发送确认本身。手动攻击与事务或非事务频道一致,但如果您在频道上没有其他工作,除了收到单个消息外,则事务可能并不是必需的。设置为 AcknowledgeMode.NONE 以告知代理不会期望任何确认,它将假定所有消息在发送后马上被确认(这是原生 Rabbit 代理术语)。如果 AcknowledgeMode.NONE 不能事务处理(如果意外设置该标志,容器将在启动时失败)。

Enum 值:

  • NONE
  • 手动
  • AUTO
 

acknowledgeMode

asyncConsumer (consumer)

消费者是否异步处理交换。如果启用,则消费者可以从队列中获取下一个消息,而以前的消息是异步处理的(通过异步路由引擎)。这意味着消息可能没有完全严格按照顺序进行处理。如果禁用(作为默认),则消费者将从队列获取下一个消息之前完全处理 Exchange。

false

布尔值

autoDeclare (consumer)

指定消费者是否应在启动时自动声明交换、队列和路由密钥之间的绑定。

true

布尔值

autoStartup (consumer)

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

true

布尔值

deadLetterExchange (consumer)

死信交换的名称。

 

字符串

deadLetterExchangeType (consumer)

死信交换的类型。

Enum 值:

  • direct
  • fanout
  • 标头
  • topic

direct

字符串

deadLetterQueue (consumer)

死信队列的名称。

 

字符串

deadLetterRoutingKey (consumer)

死信交换的路由密钥。

 

字符串

exchangeType (consumer)

交换的类型。

Enum 值:

  • direct
  • fanout
  • 标头
  • topic

direct

字符串

exclusive (consumer)

对于专用消费者,设置为 true。

false

布尔值

maximumRetryAttempts (consumer)

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

5

int

noLocal (consumer)

对于一个 no-local 消费者,设置为 true。

false

布尔值

queues (consumer)

用于消耗消息的队列。可以使用逗号分隔多个队列名称。如果没有配置,则 Camel 将生成一个唯一的 id,作为消费者的队列名称。

 

字符串

rejectAndDontRequeue (consumer)

Rabbitmq 使用者是否应该拒绝消息,而不会重新排队。这可让失败的消息发送到 Dead Letter Exchange/Queue (如果代理配置)。

true

布尔值

retryDelay (consumer)

msec 中的延迟会延迟 Rabbitmq 使用者,然后会等待 Camel 无法处理的消息。

1000

int

bridgeErrorHandler (consumer (advanced))

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

false

布尔值

concurrentConsumers (consumer (advanced))

用户数量。

 

整数

exceptionHandler (consumer (advanced))

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

exchangePattern (consumer (advanced))

在消费者创建交换时设置交换模式。

Enum 值:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

maxConcurrentConsumers (consumer (advanced))

最多消费者数量(仅适用于 SMLC)。

 

整数

messageListenerContainerType (consumer (advanced))

MessageListenerContainer 的类型。

Enum 值:

  • DMLC
  • SMLC

DMLC

字符串

prefetchCount (consumer (advanced))

告知代理在单个请求中发送多少个消息。这通常设置得非常高,以提高吞吐量。

 

整数

retry (consumer (advanced))

要使用的自定义重试配置。如果进行了此配置,则使用其他设置,如重试的 maximumRetryAttempts。

 

RetryOperationsInterceptor

replyTimeout (producer)

指定在进行请求/回复消息传递时等待回复消息时使用的超时时间(毫秒)。默认值为 5 秒。负值表示无限期超时。

5000

long

usePublisherConnection (producer)

为发布者和消费者使用单独的连接。

false

布尔值

lazyStartProducer (producer (advanced))

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

false

布尔值

args (advanced)

指定配置不同 RabbitMQ 概念的参数,每个元素都需要一个不同的前缀:arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. arg.dlq.binding。例如,使用消息 ttl 参数声明队列:args=arg.queue.x-message-ttl=60000。

 

Map

messageConverter (advanced)

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

 

MessageConverter

messagePropertiesConverter (advanced)

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

 

MessagePropertiesConverter

同步 (高级)

设置是否应严格使用同步处理。

false

布尔值

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat