271.2. 选项
RabbitMQ 组件支持 50 个选项,它们如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
hostname (common) | 运行 RabbitMQ 实例或集群的主机名。 | 字符串 | |
portNumber (common) | 运行 rabbitmq 实例或集群的主机的端口号。 | 5672 | int |
username (security) | 身份验证访问时的用户名 | 客户机 | 字符串 |
密码 (安全) | 用于经过身份验证的访问的密码 | 客户机 | 字符串 |
vhost (common) | 频道的 vhost | / | 字符串 |
addresses (common) | 如果设置了这个选项,则 camel-rabbitmq 将尝试根据选项地址的设置来创建连接。address 值是一个字符串,它类似于 server1:12345, server2:12345 | 字符串 | |
connectionFactory (common) | 使用自定义 RabbitMQ 连接工厂。当设定这个选项时,不会使用 URI 上设置的所有连接选项(connectionTimeout、requestChannelMax…) | ConnectionFactory | |
threadPoolSize (consumer) | 使用者使用 Thread Pool Executor,带有固定数量的线程。此设置允许您设定该线程数。 | 10 | int |
autoDetectConnection Factory (advanced) | 是否从注册表自动探测到 RabbitMQ 连接工厂。启用并且找到连接工厂的单一实例后,它将被使用。可以在组件或端点级别上配置显式连接工厂,其具有优先权。 | true | 布尔值 |
connectionTimeout (advanced) | 连接超时 | 60000 | int |
requestedChannelMax (advanced) | 请求的连接频道最大(提供的最大频道数) | 2047 | int |
requestedFrameMax (advanced) | 请求的连接帧最大(提供的最大帧大小) | 0 | int |
requestedHeartbeat (advanced) | 请求的连接心跳(以秒为单位) | 60 | int |
自动恢复启用 (高级) | 启用连接自动恢复(使用连接实现,在应用程序没有启动连接时执行自动恢复) | 布尔值 | |
networkRecoveryInterval (advanced) | 网络恢复间隔(以毫秒为单位(从网络故障恢复时使用的间隔) | 5000 | 整数 |
topologyRecoveryEnabled (advanced) | 启用连接拓扑恢复(应该执行拓扑恢复) | 布尔值 | |
prefetchEnabled (consumer) | 在 RabbitMQConsumer side 上启用服务质量。您需要同时指定 prefetchSize、prefetchCount 和 prefetchGlobal 选项 | false | 布尔值 |
prefetchSize (consumer) | 服务器将提供的最大内容(以八位字节的形式),如果没有限制。您需要同时指定 prefetchSize、prefetchCount 和 prefetchGlobal 选项 | int | |
prefetchCount (consumer) | 服务器将提供的最大消息数(如果没有限制)。您需要同时指定 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) | 为Out Exchange 设置 requestTimeoutCheckerInterval | 1000 | long |
transferException (高级) | 当 true 和 inOut Exchange 在消费者侧向响应中发送导致的 Exception 返回时失败 | false | 布尔值 |
publisher Acknowledgements (producer) | 为 true 时,信息将打开在发布时被发布。 | false | 布尔值 |
publisher AcknowledgementsTimeout (producer) | 从 RabbitMQ 服务器等待 basic.ack 响应的时间(毫秒) | long | |
guaranteedDeliveries (producer) | 为 true 时,当无法发送消息(basic.return)且消息标记为强制时,则会抛出异常。该例中还将激活发布者确认。请参阅发布软件确认 - 当信息将被确认时。 | false | 布尔值 |
mandatory (producer) | 此标志将告知服务器如何响应消息是否无法路由到队列。如果设置了此标志,服务器会返回一个带有返回方法的无法路由的消息。如果此标志为零,服务器会静默丢弃信息。如果标头存在 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 | 布尔值 |
专用 (通用) | 独占队列只能被当前连接访问,并在该连接关闭时删除。 | false | 布尔值 |
exclusiveConsumer (consumer) | 请求对队列的独占访问(只有这个消费者可以访问队列)。当您希望长期共享队列可以临时被一个消费者访问时,这非常有用。 | false | 布尔值 |
passive (common) | 被动队列取决于已在 RabbitMQ 上可用的队列。 | false | 布尔值 |
skipQueueDeclare (common) | 如果为 true,则制作者不会声明和绑定一个队列。这可用于通过现有路由密钥来指示信息。 | false | 布尔值 |
skipQueueBind (common) | 如果为 true,在声明队列后不会绑定到交换 | false | 布尔值 |
skipExchangeDeclare (common) | 如果我们需要声明队列,而不使用交换,则可以使用它 | false | 布尔值 |
declare (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
使用以下路径和查询参数:
271.2.1. 路径名(1 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
exchangeName | 必需。交换名称决定了生成的消息将发送到的交换。对于消费者而言,交换名称决定队列要绑定的交换。 | 字符串 |