对于最新稳定版本,请使用spring-cloud-stream 5.0.1spring-doc.cadn.net.cn

RabbitMQ 生产者属性

Rabbit 生成器特有的以下属性可用,并且必须以“0”开头。spring-doc.cadn.net.cn

但是,如果需要将同一组属性应用于大多数绑定,为了防止重复,Spring Cloud Stream 支持在格式为 spring.cloud.stream.rabbit.default.<property>=<value> 的所有通道上设置值。spring-doc.cadn.net.cn

也请记住,绑定特定属性会将其默认值覆盖。spring-doc.cadn.net.cn

altermateExchange.binding.queue

如果交换机尚不存在,并且提供了name,则将此队列绑定到备用交换机。提供一个简单的持久化队列,无需任何参数;如果需要更复杂的配置,则必须自行配置并绑定队列。spring-doc.cadn.net.cn

默认值:null
alternateExchange.binding.routingKey
如果交换机尚不存在,并且提供了namequeue,则使用此路由键将队列绑定到备用交换机。spring-doc.cadn.net.cn

默认值: <代码>0 (对于默认交换 <代码>1 备用)spring-doc.cadn.net.cn

alternateExchange.exists

是否轮换交换机存在,或者需要进行预配。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

alternateExchange.type

如果备用交换机尚不存在,则要配置的交换机类型。spring-doc.cadn.net.cn

默认值: topicspring-doc.cadn.net.cn

alternateExchange.name

配置目标交换机的备用交换机。spring-doc.cadn.net.cn

默认值: nullspring-doc.cadn.net.cn

自动绑定死信队列

是否自动声明死信队列(DLQ)并将其绑定到绑定器的死信交换(DLX)。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

批量处理是否启用

生产者是否启用消息批处理。
根据以下属性(在此列表中的接下来三个条目中描述)batchSizebatchBufferLimitbatchTimeout,将消息进行批处理为一条消息。
批量处理获取更多信息。
另请参阅接收批处理的消息spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

批处理大小

启用批处理时,缓冲的消息数量。spring-doc.cadn.net.cn

默认值: 100spring-doc.cadn.net.cn

批次缓冲限制

批量处理启用时的最大缓冲区大小。spring-doc.cadn.net.cn

默认值: 10000spring-doc.cadn.net.cn

批量超时

启用批处理时的批处理超时时间。spring-doc.cadn.net.cn

默认值: 5000spring-doc.cadn.net.cn

绑定路由键

绑定队列到交换机时使用的路由键(如果bindQueuetrue)。 可以有多个键 - 参见bindingRoutingKeyDelimiter。 对于分区目的地,每个键都会追加上-n。 仅在提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: #spring-doc.cadn.net.cn

绑定路由键分隔符

当此值不为 null 时,'bindingRoutingKey' 被认为是由该值分隔的键列表;通常使用逗号作为分隔符。 仅在提供 requiredGroups 个值时适用,并且只适用于这些组。spring-doc.cadn.net.cn

默认值: nullspring-doc.cadn.net.cn

绑定队列

是否声明队列并将其绑定到目标交换机。如果已设置好自己的基础设施并且先前已创建并绑定了队列,则将其设置为false。仅在提供requiredGroups时适用,然后仅适用于这些组。spring-doc.cadn.net.cn

默认值: truespring-doc.cadn.net.cn

压缩

数据发送时是否应进行压缩。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

确认消息通道

errorChannelEnabled 为真时,表示要发送正向交付确认(即发布者确认)的通道。
如果该通道不存在,则会使用此名称注册一个 DirectChannel
必须配置连接工厂以启用发布者确认。
useConfirmHeader 互斥。spring-doc.cadn.net.cn

默认:nullChannel(确认被丢弃)。spring-doc.cadn.net.cn

死信队列名称

死信队列的名称仅在提供requiredGroups时适用,且仅适用于这些组。spring-doc.cadn.net.cn

默认值: prefix+destination.dlqspring-doc.cadn.net.cn

死信交换

将DLX分配给队列。
仅在autoBindDlqtrue时相关。
仅当提供requiredGroups时适用,且仅对这些组有效。spring-doc.cadn.net.cn

默认值:'前缀+死信交换'spring-doc.cadn.net.cn

死信交换机类型

分配给队列的DLX类型。仅当autoBindDlqtrue时相关。
只有在提供requiredGroups时才适用,然后仅适用于这些组。spring-doc.cadn.net.cn

默认值:'direct'spring-doc.cadn.net.cn

死信路由键

分配给队列的死信路由密钥。 仅在 autoBindDlqtrue 时相关。 只有当提供requiredGroups时才适用,然后只适用于这些组。spring-doc.cadn.net.cn

默认值: destinationspring-doc.cadn.net.cn

声明死信交换器

是否为目的地声明死信交换。 仅在autoBindDlqtrue时相关。 如果已配置DLX,请设置为false。 仅当提供了requiredGroups时适用,且仅适用于这些组。spring-doc.cadn.net.cn

默认值: truespring-doc.cadn.net.cn

声明交换机

是否为目的地声明交换机。spring-doc.cadn.net.cn

默认值: truespring-doc.cadn.net.cn

延迟表达式

一个SpEL表达式,用于评估要应用到消息的延迟时间(x-delay标题)。如果交换不是延迟消息交换,则此操作无效。spring-doc.cadn.net.cn

默认情况下:未设置x-delay标题。spring-doc.cadn.net.cn

延迟交换

是否将交换声明为Delayed Message Exchange
需要在代理上安装延迟消息交换插件。
x-delayed-type参数设置为exchangeTypespring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

配送方式

交付模式。spring-doc.cadn.net.cn

默认值: PERSISTENTspring-doc.cadn.net.cn

延迟队列绑定参数

绑定死信队列(DLQ)到死信交换时应用的参数;与headers deadLetterExchangeType一起使用,用于指定要匹配的头部信息。
例如…​dlqBindingArguments.x-match=any, …​dlqBindingArguments.someHeader=someValue
仅在提供requiredGroups时适用,并且只对这些组有效。spring-doc.cadn.net.cn

死信队列死信交换机

当声明死信队列(DLQ)时,会分配一个死信交换器(DLX)给该队列。
仅在提供了requiredGroups的情况下适用,并且仅适用于这些组。spring-doc.cadn.net.cn

默认值: nonespring-doc.cadn.net.cn

死信队列死信路由键

声明死信队列 (DLQ) 后,将一个死信路由键分配给该队列。 仅在提供 requiredGroups 时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: nonespring-doc.cadn.net.cn

延迟队列到期

闲置的死信队列在被删除之前保留的时间(以毫秒为单位)。仅当提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: no expirationspring-doc.cadn.net.cn

懒加载

声明死信队列时使用 x-queue-mode=lazy 参数。 参见 “惰性队列”。 建议使用策略而不是此设置,因为使用策略可以在不删除队列的情况下更改设置。 仅在提供 requiredGroups 个参数时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

最大dlq长度

死信队列中的最大消息数。 仅在提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

最大字节数

死信队列中所有消息的最大总字节数。仅在提供requiredGroups时适用,且仅对这些组有效。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

最大优先级队列

死信队列中消息的最大优先级(0-255)
仅在提供 requiredGroups 时适用,且仅对这些组有效。spring-doc.cadn.net.cn

默认值: nonespring-doc.cadn.net.cn

dlqQuorum.deliveryLimit

quorum.enabled=true时,设置一个投递限制,超过该限制后消息将被丢弃或转入死信队列。仅在提供requiredGroups时生效,并且仅适用于这些组。spring-doc.cadn.net.cn

默认:无 - 将应用代理程序默认设置。spring-doc.cadn.net.cn

dlqQuorum.enabled

当为 true 时,创建一个法定人数死信队列而不是经典队列。
仅在提供 requiredGroups 时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

(默认值:false)spring-doc.cadn.net.cn

dlqQuorum.initialGroupSize

quorum.enabled=true时,设置初始多数大小。
仅在提供requiredGroups时适用,并且仅适用于这些组。spring-doc.cadn.net.cn

默认:无 - 将应用代理程序默认设置。spring-doc.cadn.net.cn

单个活动消费者

设置为 true 将x-single-active-consumer队列属性设为true。仅当提供requiredGroups时适用,且仅适用于这些组。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

dlqTtl

声明时应用于死信队列的默认存活时间(以毫秒为单位)。仅在提供requiredGroups时适用,且仅对这些组生效。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

交换自动删除

如果 declareExchangetrue,则交换是否应自动删除(在最后一个队列被移除后)。spring-doc.cadn.net.cn

默认值: truespring-doc.cadn.net.cn

交换机持久化

如果 declareExchangetrue,则交换是否应该具有持久性(在代理重启后仍然存在)。spring-doc.cadn.net.cn

默认值: truespring-doc.cadn.net.cn

交易类型

交换类型:directfanoutheaderstopic用于非分区目的地,而directheaderstopic用于分区目的地。spring-doc.cadn.net.cn

默认值: topicspring-doc.cadn.net.cn

到期

闲置队列在被删除前等待的时间(以毫秒为单位)。仅当提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: no expirationspring-doc.cadn.net.cn

headerPatterns

用于映射到传出消息的标题模式。spring-doc.cadn.net.cn

默认:['*'](所有头部)。spring-doc.cadn.net.cn

懒加载

使用x-queue-mode=lazy参数声明队列。查看“延迟队列”。考虑使用策略而不是此设置,因为使用策略可以在不删除队列的情况下更改设置。仅当提供了requiredGroups时才适用,然后只适用于这些组。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

最大长度

队列中的最大消息数。仅在提供 requiredGroups 时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

最大长度字节

队列中所有消息的最大总字节数。仅在提供requiredGroups时适用,并且仅适用于这些组。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

最高严重程度

队列中消息的最大优先级(0-255)。仅当提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值: nonespring-doc.cadn.net.cn

前缀

要添加到destination交换机名称前的前缀。spring-doc.cadn.net.cn

默认值:""。spring-doc.cadn.net.cn

生产者类型

生产者的类型。spring-doc.cadn.net.cn

队列绑定参数

绑定队列到交换时应用的参数;用于headersexchangeType指定要匹配的标头。
例如…​queueBindingArguments.x-match=any…​queueBindingArguments.someHeader=someValue
仅在提供requiredGroups时适用,且仅适用于这些组。spring-doc.cadn.net.cn

仅队列名组

当为true时,从队列名称与group相等的队列中消费。否则队列名称为destination.group。例如,在使用Spring Cloud Stream消费现有的RabbitMQ队列时,这非常有用。仅在提供requiredGroups时适用,并且仅对这些组有效。spring-doc.cadn.net.cn

默认值:false。spring-doc.cadn.net.cn

quorum.deliveryLimit

quorum.enabled=true时,设置一个投递限制,超过该限制后消息将被丢弃或转入死信队列。仅在提供requiredGroups时生效,并且仅适用于这些组。spring-doc.cadn.net.cn

默认:无 - 将应用代理程序默认设置。spring-doc.cadn.net.cn

quorum.enabled

当为 true 时,创建一个法定人数队列而不是经典队列。
仅在提供requiredGroups时适用,然后仅适用于这些组。spring-doc.cadn.net.cn

(默认值:false)spring-doc.cadn.net.cn

quorum.initialGroupSize

quorum.enabled=true时,设置初始多数大小。
仅在提供requiredGroups时适用,并且仅适用于这些组。spring-doc.cadn.net.cn

默认:无 - 将应用代理程序默认设置。spring-doc.cadn.net.cn

路由键表达式

用于确定发布消息时使用的路由键的SpEL表达式。对于固定路由键,请使用routingKeyspring-doc.cadn.net.cn

默认值:destinationdestination-<partition>(针对分区目的地)。spring-doc.cadn.net.cn

routingKey

一个定义了发布消息时使用的固定路由密钥的字符串。spring-doc.cadn.net.cn

默认:查看 routingKeyExpressionspring-doc.cadn.net.cn

singleActiveConsumer

设置为 true 将x-single-active-consumer队列属性设为true。仅当提供requiredGroups时适用,且仅适用于这些组。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

事务性

是否使用事务通道。spring-doc.cadn.net.cn

默认值: falsespring-doc.cadn.net.cn

TTL

声明队列时要应用的默认存活时间(以毫秒为单位)。仅当提供requiredGroups时才会对这些组生效。spring-doc.cadn.net.cn

默认值: no limitspring-doc.cadn.net.cn

使用确认标题

参见 发布者确认
confirmAckChannel 互斥。spring-doc.cadn.net.cn

在RabbitMQ的情况下,内容类型标头可以通过外部应用程序进行设置。</p><p>Spring Cloud Stream将其作为用于任何类型的传输的扩展内部协议的一部分来支持——包括Kafka(0.11之前版本)等不原生支持标头的传输方式。