272.3. Spring Boot Auto-Configuration
组件支持 51 选项,如下所列。
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| camel.component.rabbitmq.addresses | 如果设置了此选项,则 camel-rabbitmq 将尝试根据选项地址的设置来创建连接。address 值是一个字符串,它类似于 server1:12345, server2:12345 | 字符串 | |
| camel.component.rabbitmq.allow-null-headers | 允许将 null 值传递给标头 | false | 布尔值 |
| camel.component.rabbitmq.args | 指定用于配置不同 RabbitMQ 概念的参数,每个概念都需要不同的前缀: Exchange: arg.exchange。queue:arg.queue.绑定:arg.binding.例如,使用消息 ttl 参数声明队列: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | Map | |
| camel.component.rabbitmq.auto-ack | 如果消息应被自动确认 | true | 布尔值 |
| camel.component.rabbitmq.auto-delete | 如果为 true,则在不再使用交换时会删除交换 | true | 布尔值 |
| camel.component.rabbitmq.auto-detect-connection-factory | 是否从 registry 中自动检测 RabbitMQ 连接工厂。启用和找到连接工厂的单个实例后,它将被使用。可以在具有优先权的组件或端点级别上配置显式连接工厂。 | true | 布尔值 |
| camel.component.rabbitmq.automatic-recovery-enabled | 启用连接自动恢复(使用在应用程序没有启动连接关闭时执行自动恢复的连接实现) | 布尔值 | |
| camel.component.rabbitmq.channel-pool-max-size | 获取池中打开的最大频道数 | 10 | 整数 |
| camel.component.rabbitmq.channel-pool-max-wait | 设置池中等待频道的最大毫秒数 | 1000 | Long |
| camel.component.rabbitmq.client-properties | 连接客户端属性(与服务器协商中使用的客户端信息) | Map | |
| camel.component.rabbitmq.connection-factory | 使用自定义 RabbitMQ 连接工厂。当设定这个选项时,不会使用 URI 上设置的所有连接选项(connectionTimeout, requestedChannelMax…)。选项是 com.rabbitmq.client.ConnectionFactory 类型。 | 字符串 | |
| camel.component.rabbitmq.connection-timeout | 连接超时 | 60000 | 整数 |
| camel.component.rabbitmq.dead-letter-exchange | 死信交换的名称 | 字符串 | |
| camel.component.rabbitmq.dead-letter-exchange-type | 死信交换的类型 | direct | 字符串 |
| camel.component.rabbitmq.dead-letter-queue | 死信队列的名称 | 字符串 | |
| camel.component.rabbitmq.dead-letter-routing-key | 死信交换的路由密钥 | 字符串 | |
| camel.component.rabbitmq.declare | 如果选项为 true,则 camel 会声明交换和队列名称,并将它们绑定在一起。如果选项为 false,则 camel 不会声明服务器上的交换和队列名称。 | true | 布尔值 |
| camel.component.rabbitmq.durable | 如果我们声明了持久交换(交换将在服务器重新启动后继续存在) | true | 布尔值 |
| camel.component.rabbitmq.enabled | 启用 rabbitmq 组件 | true | 布尔值 |
| camel.component.rabbitmq.exclusive | 专用队列只能由当前连接访问,并在该连接关闭时删除。 | false | 布尔值 |
| camel.component.rabbitmq.exclusive-consumer | 请求独占访问队列(仅此使用者可以访问队列)。当您希望长期共享队列被一个消费者暂时访问时,这非常有用。 | false | 布尔值 |
| camel.component.rabbitmq.guaranteed-deliveries | 为 true 时,当消息无法发送时(basic.return)并且消息被标记为必需时,会抛出异常。本例中也会激活 publisherAcknowledgement。另请参阅发布者确认 - 将确认何时。 | false | 布尔值 |
| camel.component.rabbitmq.hostname | 正在运行的 RabbitMQ 实例或集群的主机名。 | 字符串 | |
| camel.component.rabbitmq.immediate | 此标志告知服务器在无法立即路由到队列消费者时做出反应。如果设置了此标志,服务器将使用返回方法返回不活动的消息。如果此标志为零,服务器将对消息进行队列,但不保证它将被消耗。如果标头存在 rabbitmq.IMMEDIATE,它将覆盖此选项。 | false | 布尔值 |
| camel.component.rabbitmq.mandatory | 此标志告知服务器在无法路由到队列时如何响应。如果设置了此标志,服务器将返回带有 return 方法的不可路由消息。如果此标志为零,服务器会静默丢弃消息。如果标头存在 rabbitmq.MANDATORY,它将覆盖此选项。 | false | 布尔值 |
| camel.component.rabbitmq.network-recovery-interval | 网络恢复间隔(以毫秒为单位)(在从网络故障中恢复时使用的时间) | 5000 | 整数 |
| camel.component.rabbitmq.passive | 被动队列依赖于 RabbitMQ 上已可用的队列。 | false | 布尔值 |
| camel.component.rabbitmq.password | 身份验证访问的密码 | guest | 字符串 |
| camel.component.rabbitmq.port-number | 带有正在运行的 rabbitmq 实例或集群的主机的端口号。 | 5672 | 整数 |
| camel.component.rabbitmq.prefetch-count | 服务器将交付的最大消息数为 0 (如果没有限制)。您需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项 | 整数 | |
| camel.component.rabbitmq.prefetch-enabled | 在 RabbitMQConsumer 端启用服务质量。您需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项 | false | 布尔值 |
| camel.component.rabbitmq.prefetch-global | 如果设置应用于整个频道,而不是每个消费者,则需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项 | false | 布尔值 |
| camel.component.rabbitmq.prefetch-size | 服务器将提供的最大内容量(以八位字节为单位)您需要同时指定 prefetchSize, prefetchCount, prefetchGlobal 选项 | 整数 | |
| camel.component.rabbitmq.publisher-acknowledgements | 为 true 时,该消息将在发布者被打开时发布 | false | 布尔值 |
| camel.component.rabbitmq.publisher-acknowledgements-timeout | 从 RabbitMQ 服务器等待 basic.ack 响应的时间(以毫秒为单位) | Long | |
| camel.component.rabbitmq.request-timeout | 在使用 InOut Exchange Pattern 时设置等待回复的超时(以毫秒为单位) | 20000 | Long |
| camel.component.rabbitmq.request-timeout-checker-interval | 为 inOut 交换设置 requestTimeoutCheckerInterval | 1000 | Long |
| camel.component.rabbitmq.requested-channel-max | 连接请求的频道最大(提供的最大频道数) | 2047 | 整数 |
| camel.component.rabbitmq.requested-frame-max | 连接请求的帧最大(提供的最大帧大小) | 0 | 整数 |
| camel.component.rabbitmq.requested-heartbeat | 连接请求 heartbeat (以秒为单位) | 60 | 整数 |
| camel.component.rabbitmq.resolve-property-placeholders | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
| camel.component.rabbitmq.skip-exchange-declare | 如果需要声明队列,则可以使用它,而不是交换 | false | 布尔值 |
| camel.component.rabbitmq.skip-queue-bind | 如果为 true,则队列在声明后不会绑定到交换 | false | 布尔值 |
| camel.component.rabbitmq.skip-queue-declare | 如果为 true,则制作者不会声明和绑定队列。这可用于通过现有的路由密钥指示消息。 | false | 布尔值 |
| camel.component.rabbitmq.ssl-protocol | 在连接中启用 SSL,接受的值是 true、TLS 和 'SSLv3 | 字符串 | |
| camel.component.rabbitmq.thread-pool-size | 消费者使用带有固定数量线程数的线程池 Executor。此设置允许您设置那个线程数。 | 10 | 整数 |
| camel.component.rabbitmq.topology-recovery-enabled | 启用连接拓扑恢复(应执行拓扑恢复) | 布尔值 | |
| camel.component.rabbitmq.transfer-exception | 当消费者端的 true 和 inOut Exchange 失败时,会在响应中发回原因例外 | false | 布尔值 |
| camel.component.rabbitmq.trust-manager | 配置 SSL 信任管理器,应启用 SSL 才能使此选项生效。选项是 javax.net.ssl.TrustManager 类型。 | 字符串 | |
| camel.component.rabbitmq.username | 如果通过身份验证访问,则用户名 | guest | 字符串 |
| camel.component.rabbitmq.vhost | 频道的 vhost | / | 字符串 |
有关连接选项的更多信息,请参阅 http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html 和 AMQP 规格。