272.2. 选项


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

名称描述默认值类型

hostname (common)

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

 

字符串

portNumber (common)

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

5672

int

用户名 (安全性)

如果通过身份验证访问,则用户名

guest

字符串

password (security)

身份验证访问的密码

guest

字符串

vhost (common)

频道的 vhost

/

字符串

addresses (common)

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

 

字符串

connectionFactory (common)

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

 

ConnectionFactory

threadPoolSize (consumer)

消费者使用带有固定数量线程数的线程池 Executor。此设置允许您设置那个线程数。

10

int

autoDetectConnection Factory (advanced)

是否从 registry 中自动检测 RabbitMQ 连接工厂。启用和找到连接工厂的单个实例后,它将被使用。可以在具有优先权的组件或端点级别上配置显式连接工厂。

true

布尔值

connectionTimeout (advanced)

连接超时

60000

int

requestedChannelMax (advanced)

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

2047

int

requestedFrameMax (advanced)

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

0

int

requestedHeartbeat (advanced)

连接请求 heartbeat (以秒为单位)

60

int

automaticRecovery Enabled (advanced)

启用连接自动恢复(使用在应用程序没有启动连接关闭时执行自动恢复的连接实现)

 

布尔值

networkRecoveryInterval (advanced)

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

5000

整数

topologyRecoveryEnabled (advanced)

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

 

布尔值

prefetchEnabled (consumer)

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

false

布尔值

prefetchSize (consumer)

服务器将提供的最大内容量(以八位字节为单位)您需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项

 

int

prefetchCount (consumer)

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

 

int

prefetchGlobal (consumer)

如果设置应用于整个频道,而不是每个消费者,则需要同时指定 prefetchSize, 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 失败时,会在响应中发回原因例外

false

布尔值

publisher Acknowledgements (producer)

为 true 时,该消息将在发布者被打开时发布

false

布尔值

publisher AcknowledgementsTimeout (producer)

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

 

long

guaranteedDeliveries (producer)

为 true 时,当消息无法发送时(basic.return)并且消息被标记为必需时,会抛出异常。本例中也会激活 publisherAcknowledgement。另请参阅发布者确认 - 将确认何时。

false

布尔值

mandatory (producer)

此标志告知服务器在无法路由到队列时如何响应。如果设置了此标志,服务器将返回带有 return 方法的不可路由消息。如果此标志为零,服务器会静默丢弃消息。如果标头存在 rabbitmq.MANDATORY,它将覆盖此选项。

false

布尔值

immediate (producer)

此标志告知服务器在无法立即路由到队列消费者时做出反应。如果设置了此标志,服务器将使用返回方法返回不活动的消息。如果此标志为零,服务器将对消息进行队列,但不保证它将被消耗。如果标头存在 rabbitmq.IMMEDIATE,它将覆盖此选项。

false

布尔值

args (advanced)

指定用于配置不同 RabbitMQ 概念的参数,每个概念都需要不同的前缀: Exchange: arg.exchange。queue:arg.queue.绑定:arg.binding.例如,使用消息 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

布尔值

autoDelete (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

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

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

名称描述默认值类型

exchangeName

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

 

字符串

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

名称描述默认值类型

addresses (common)

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

 

Address[]

autoDelete (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

字符串

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, prefetchGlobal 选项

false

布尔值

prefetchSize (consumer)

服务器将提供的最大内容量(以八位字节为单位)您需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项

 

int

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

threadPoolSize (consumer)

消费者使用带有固定数量线程数的线程池 Executor。此设置允许您设置那个线程数。

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)并且消息被标记为必需时,会抛出异常。本例中也会激活 publisherAcknowledgement。另请参阅发布者确认 - 将确认何时。

false

布尔值

immediate (producer)

此标志告知服务器在无法立即路由到队列消费者时做出反应。如果设置了此标志,服务器将使用返回方法返回不活动的消息。如果此标志为零,服务器将对消息进行队列,但不保证它将被消耗。如果标头存在 rabbitmq.IMMEDIATE,它将覆盖此选项。

false

布尔值

mandatory (producer)

此标志告知服务器在无法路由到队列时如何响应。如果设置了此标志,服务器将返回带有 return 方法的不可路由消息。如果此标志为零,服务器会静默丢弃消息。如果标头存在 rabbitmq.MANDATORY,它将覆盖此选项。

false

布尔值

publisherAcknowledgements (producer)

为 true 时,该消息将在发布者被打开时发布

false

布尔值

publisherAcknowledgements Timeout (producer)

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

 

long

args (advanced)

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

 

Map

automaticRecoveryEnabled (advanced)

启用连接自动恢复(使用在应用程序没有启动连接关闭时执行自动恢复的连接实现)

 

布尔值

bindingArgs (advanced)

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

 

Map

clientProperties (advanced)

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

 

Map

connectionTimeout (advanced)

连接超时

60000

int

exchangeArgs (advanced)

弃用了 Key/value 参数,用于在 claim=true 中配置交换参数

 

Map

exchangeArgsConfigurer (advanced)

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

 

ArgsConfigurer

networkRecoveryInterval (advanced)

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

5000

整数

queueArgs (advanced)

弃用的 Key/value args,用于在 claim=true 中配置队列参数

 

Map

queueArgsConfigurer (advanced)

弃用 设置配置器,以在 Channel.queueDeclare 中设置队列参数

 

ArgsConfigurer

requestedChannelMax (advanced)

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

2047

int

requestedFrameMax (advanced)

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

0

int

requestedHeartbeat (advanced)

连接请求 heartbeat (以秒为单位)

60

int

requestTimeout (advanced)

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

20000

long

requestTimeoutChecker Interval (advanced)

为 inOut 交换设置 requestTimeoutCheckerInterval

1000

long

同步 (advanced)

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

false

布尔值

topologyRecoveryEnabled (advanced)

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

 

布尔值

transferException (advanced)

当消费者端的 true 和 inOut Exchange 失败时,会在响应中发回原因例外

false

布尔值

password (security)

身份验证访问的密码

guest

字符串

sslProtocol (security)

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

 

字符串

trustManager (security)

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

 

TrustManager

用户名 (安全性)

如果通过身份验证访问,则用户名

guest

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.