272.2. 选项


RabbitMQ 组件支持 50 个选项,如下所列。

Expand
Name描述默认值类型

hostname (common)

运行 RabbitMQ 实例或集群的主机名。

 

字符串

portnumber (common)

带有正在运行的 rabbitmq 实例或集群的主机的端口号。

5672

int

用户名 (security)

身份验证访问时的用户名

Guest

字符串

密码 (security)

验证访问的密码

Guest

字符串

vhost (common)

频道的 vhost

/

字符串

addresses (common)

如果设置了这个选项,camel-rabbitmq 将尝试根据选项地址的设置来创建连接。addresses 值是一个字符串,它类似于 server1:12345, server2:12345

 

字符串

ConnectionFactory (common)

使用自定义 RabbitMQ 连接工厂。当设定这个选项时,不会使用在 URI 上设置的所有连接选项(connectionTimeout, requestedChannelMax…​)

 

ConnectionFactory

threadPoolSize (consumer)

使用者使用带有固定线程数的线程池可执行文件。此设置允许您设置该线程数量。

10

int

autoDetectConnection Factory (advanced)

是否自动检测是否从注册表查找 RabbitMQ 连接工厂。启用并找到连接工厂的单一实例后,它将被使用。可以在组件或端点级别配置显式连接工厂。

true

布尔值

connectionTimeout (advanced)

连接超时

60000

int

requestedChannelMax (advanced)

请求的连接频道最大数(提供的最大频道数)

2047

int

requestedFrameMax (advanced)

请求的连接帧最大范围(提供的帧的最大大小)

0

int

requestedHeartbeat (advanced)

请求的连接心跳(以秒为单位)

60

int

自动恢复启用 (advanced)

启用连接自动恢复(使用在应用程序不启动连接关闭时执行自动恢复)

 

布尔值

networkRecoveryInterval (advanced)

以毫秒为单位的网络恢复间隔(从网络故障中恢复时使用的interval)

5000

整数

topologyRecoveryEnabled (advanced)

启用连接拓扑恢复(应该执行拓扑恢复)

 

布尔值

prefetchEnabled (consumer)

在 RabbitMQConsumer 端启用服务质量。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

false

布尔值

prefetchSize (consumer)

服务器将提供的最大内容量(以八位字节表示),如果无限,则会提供 0。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

 

int

prefetchCount (consumer)

服务器将发送的最大消息数为 0 (如果没有限制)。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

 

int

prefetchGlobal (consumer)

如果设置应该应用到整个频道,而不是每个消费者,您需要同时指定 prefetchSize、prefetchCount、prefetchCount、prefetchGlobal

false

布尔值

channelPoolMaxSize (producer)

获取池中打开的最大频道数

10

int

channelPoolMaxWait (producer)

设置从池中等待频道的最大毫秒数

1000

long

requestTimeout (advanced)

设置在使用 InOut Exchange Pattern 时等待回复的超时(以毫秒为单位)

20000

long

requestTimeoutChecker Interval (advanced)

为 inOut 交换设置 requestTimeoutCheckerInterval

1000

long

transferException (advanced)

当对消费者进行 true 和 inOut Exchange 时,发送 caused Exception 返回响应中

false

布尔值

publisher Acknowledgements (producer)

为 true 时,消息将发布并打开发布发布者确认信息

false

布尔值

publisher AcknowledgementsTimeout (producer)

从 RabbitMQ 服务器等待基本.ack 响应的时间(以毫秒为单位)

 

long

guaranteedDeliveries (producer)

为 true 时,当无法发送消息时(basic.return)并且消息被标记为 mandatory 时,会抛出异常。在这种情况下,发布者也会被激活。另请参阅发布者确认 - 消息将被确认的时间。

false

布尔值

mandatory (producer)

此标志告诉服务器如何在消息无法路由到队列时做出反应。如果设置了此标志,服务器将使用返回方法返回无法路由的消息。如果此标志为零,则服务器会静默丢弃消息。如果标题为 rabbitmq.MANDATORY,它将覆盖此选项。

false

布尔值

immediate (producer)

此标志告诉服务器如何在消息无法立即路由到队列消费者时做出反应。如果设置了此标志,服务器将使用返回方法返回一个 undeliverable 消息。如果此标志为零,服务器会将该消息排队,但不保证使用它。如果标头存在 rabbitmq.IMMEDIATE,它将覆盖此选项。

false

布尔值

args (advanced)

指定用于配置不同的 RabbitMQ 概念的参数,每个概念都需要一个不同的前缀: Exchange: arg.exchange。queue:arg.queue.binding:arg.binding.例如,使用 message ttl 参数声明队列: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000

 

Map

clientProperties (advanced)

连接客户端属性(在服务器中使用的客户端信息)

 

Map

SSLProtocol ( security)

在连接中启用 SSL,接受的值为 true、TLS 和 'SSLv3

 

字符串

trustmanager (security)

配置 SSL 信任管理器,应该启用 SSL 才能使此选项生效

 

TrustManager

autoAck (consumer)

如果应该自动确认消息

true

布尔值

auto delete (common)

如果为 true,则在不再使用交换时会删除交换

true

布尔值

durable (common)

如果我们声明持久化的交换(服务器重启后交换将保留)

true

布尔值

exclusive (common)

独占队列只能由当前连接访问,并在该连接关闭时删除。

false

布尔值

exclusiveConsumer (consumer)

请求对队列进行独占访问(注意只有此使用者可以访问队列)。当您希望一个长期共享队列被一个消费者临时访问时,这很有用。

false

布尔值

passive (common)

被动队列依赖于 RabbitMQ 上已经可用的队列。

false

布尔值

skipQueueDeclare (common)

如果为 true,则生成者不会声明和绑定队列。这可用于通过现有的路由密钥指示消息。

false

布尔值

skipQueueBind (common)

如果为 true,则在声明后队列不会绑定到交换

false

布尔值

skipExchangeDeclare (common)

如果需要声明队列而不是交换,可以使用它

false

布尔值

声明 (common)

如果选项为 true,camel 声明交换和队列名称并将其绑定在一起。如果选项为 false,则 camel 不会声明服务器上的交换和队列名称。

true

布尔值

deadLetterExchange (common)

死信交换的名称

 

字符串

deadLetterQueue (common)

死信队列的名称

 

字符串

deadLetterRoutingKey (common)

死信交换的路由密钥

 

字符串

deadLetterExchangeType (common)

死信交换的类型

direct

字符串

allowNullHeaders (producer)

允许将 null 值传递给标头

false

布尔值

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

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

rabbitmq:exchangeName
Copy to Clipboard Toggle word wrap

使用以下路径和查询参数:

272.2.1. 路径参数(1 参数):

Expand
Name描述默认值类型

exchangeName

必需 The Exchange name 决定将发送到的交换生成的消息。如果是消费者,交换名称决定了队列将绑定到的交换。

 

字符串

272.2.2. 查询参数(62 参数):

Expand
Name描述默认值类型

addresses (common)

如果设置了这个选项,camel-rabbitmq 将尝试根据选项地址的设置来创建连接。addresses 值是一个字符串,它类似于 server1:12345, server2:12345

 

Address[]

auto delete (common)

如果为 true,则在不再使用交换时会删除交换

true

布尔值

ConnectionFactory (common)

使用自定义 RabbitMQ 连接工厂。当设定这个选项时,不会使用在 URI 上设置的所有连接选项(connectionTimeout, requestedChannelMax…​)

 

ConnectionFactory

deadLetterExchange (common)

死信交换的名称

 

字符串

deadLetterExchangeType (common)

死信交换的类型

direct

字符串

deadLetterQueue (common)

死信队列的名称

 

字符串

deadLetterRoutingKey (common)

死信交换的路由密钥

 

字符串

声明 (common)

如果选项为 true,camel 声明交换和队列名称并将其绑定在一起。如果选项为 false,则 camel 不会声明服务器上的交换和队列名称。

true

布尔值

durable (common)

如果我们声明持久化的交换(服务器重启后交换将保留)

true

布尔值

exchangeType (common)

交换类型,如 direct 或 topic。

direct

字符串

exclusive (common)

独占队列只能由当前连接访问,并在该连接关闭时删除。

false

布尔值

hostname (common)

正在运行的 rabbitmq 实例或集群的主机名。

 

字符串

passive (common)

被动队列依赖于 RabbitMQ 上已经可用的队列。

false

布尔值

portnumber (common)

带有正在运行的 rabbitmq 实例或集群的主机的端口号。默认值为 5672。

 

int

queue (common)

从其中接收消息的队列

 

字符串

routingKey (common)

将消费者队列绑定到交换时使用的路由密钥。对于生成者路由密钥,您可以设置标头 rabbitmq.ROUTING_KEY。

 

字符串

skipExchangeDeclare (common)

如果需要声明队列而不是交换,可以使用它

false

布尔值

skipQueueBind (common)

如果为 true,则在声明后队列不会绑定到交换

false

布尔值

skipQueueDeclare (common)

如果为 true,则生成者不会声明和绑定队列。这可用于通过现有的路由密钥指示消息。

false

布尔值

vhost (common)

频道的 vhost

/

字符串

autoAck (consumer)

如果应该自动确认消息

true

布尔值

bridgeErrorHandler (consumer)

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

false

布尔值

concurrentConsumers (consumer)

从代理消耗时并发消费者数量。(与 JMS 组件相同的选项类似)。

1

int

exclusiveConsumer (consumer)

请求对队列进行独占访问(注意只有此使用者可以访问队列)。当您希望一个长期共享队列被一个消费者临时访问时,这很有用。

false

布尔值

prefetchCount (consumer)

服务器将发送的最大消息数为 0 (如果没有限制)。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

 

int

prefetchEnabled (consumer)

在 RabbitMQConsumer 端启用服务质量。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

false

布尔值

prefetchGlobal (consumer)

如果设置应该应用到整个频道,而不是每个消费者,您需要同时指定 prefetchSize、prefetchCount、prefetchCount、prefetchGlobal

false

布尔值

prefetchSize (consumer)

服务器将提供的最大内容量(以八位字节表示),如果无限,则会提供 0。您需要同时指定 prefetchSize、prefetchCount、prefetchGlobal 的选项

 

int

ExceptionHandler ( consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

threadPoolSize (consumer)

使用者使用带有固定线程数的线程池可执行文件。此设置允许您设置该线程数量。

10

int

allowNullHeaders (producer)

允许将 null 值传递给标头

false

布尔值

bridgeEndpoint (producer)

如果 bridgeEndpoint 为 true,则生成者将忽略 rabbitmq.EXCHANGE_NAME 和 rabbitmq.ROUTING_KEY 的消息标头

false

布尔值

channelPoolMaxSize (producer)

获取池中打开的最大频道数

10

int

channelPoolMaxWait (producer)

设置从池中等待频道的最大毫秒数

1000

long

guaranteedDeliveries (producer)

为 true 时,当无法发送消息时(basic.return)并且消息被标记为 mandatory 时,会抛出异常。在这种情况下,发布者也会被激活。另请参阅发布者确认 - 消息将被确认的时间。

false

布尔值

immediate (producer)

此标志告诉服务器如何在消息无法立即路由到队列消费者时做出反应。如果设置了此标志,服务器将使用返回方法返回一个 undeliverable 消息。如果此标志为零,服务器会将该消息排队,但不保证使用它。如果标头存在 rabbitmq.IMMEDIATE,它将覆盖此选项。

false

布尔值

mandatory (producer)

此标志告诉服务器如何在消息无法路由到队列时做出反应。如果设置了此标志,服务器将使用返回方法返回无法路由的消息。如果此标志为零,则服务器会静默丢弃消息。如果标题为 rabbitmq.MANDATORY,它将覆盖此选项。

false

布尔值

publisherAcknowledgements (producer)

为 true 时,消息将发布并打开发布发布者确认信息

false

布尔值

publisherAcknowledgements Timeout (producer)

从 RabbitMQ 服务器等待基本.ack 响应的时间(以毫秒为单位)

 

long

args (advanced)

指定用于配置不同的 RabbitMQ 概念的参数,每个概念都需要一个不同的前缀: Exchange: arg.exchange。queue:arg.queue.binding:arg.binding.例如,使用 message ttl 参数声明队列: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000

 

Map

automaticRecoveryEnabled (advanced)

启用连接自动恢复(使用在应用程序不启动连接关闭时执行自动恢复)

 

布尔值

bindingArgs (advanced)

弃用了 Key/value args,用于在 declare=true 时配置队列绑定参数

 

Map

clientProperties (advanced)

连接客户端属性(在服务器中使用的客户端信息)

 

Map

connectionTimeout (advanced)

连接超时

60000

int

exchangeArgs (advanced)

弃用了 Key/value args,用于在 declare=true 时配置交换参数

 

Map

exchangeArgsConfigurer (advanced)

弃用的 设置配置器,以在 Channel.exchangeDeclare 中设置交换参数

 

ArgsConfigurer

networkRecoveryInterval (advanced)

以毫秒为单位的网络恢复间隔(从网络故障中恢复时使用的interval)

5000

整数

queueArgs (advanced)

弃用了 Key/value args,用于在 declare=true 时配置队列参数

 

Map

queueArgsConfigurer (advanced)

弃用的 设置配置器,以在 Channel.queueDeclare 中设置 queue args

 

ArgsConfigurer

requestedChannelMax (advanced)

请求的连接频道最大数(提供的最大频道数)

2047

int

requestedFrameMax (advanced)

请求的连接帧最大范围(提供的帧的最大大小)

0

int

requestedHeartbeat (advanced)

请求的连接心跳(以秒为单位)

60

int

requestTimeout (advanced)

设置在使用 InOut Exchange Pattern 时等待回复的超时(以毫秒为单位)

20000

long

requestTimeoutChecker Interval (advanced)

为 inOut 交换设置 requestTimeoutCheckerInterval

1000

long

同步 (高级)

设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。

false

布尔值

topologyRecoveryEnabled (advanced)

启用连接拓扑恢复(应该执行拓扑恢复)

 

布尔值

transferException (advanced)

当对消费者进行 true 和 inOut Exchange 时,发送 caused Exception 返回响应中

false

布尔值

密码 (security)

验证访问的密码

Guest

字符串

SSLProtocol ( security)

在连接中启用 SSL,接受的值为 true、TLS 和 'SSLv3

 

字符串

trustmanager (security)

配置 SSL 信任管理器,应该启用 SSL 才能使此选项生效

 

TrustManager

用户名 (security)

身份验证访问时的用户名

Guest

字符串

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat