|
该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 spring-cloud-stream 5.0.0! |
RabbitMQ 生产者属性
以下属性仅供Rabbit生产者使用,且必须以spring.cloud.stream.rabbit.bindings.<channelName>.producer..
然而,如果大多数绑定需要应用相同的属性集,为了避免重复,Spring Cloud Stream 支持为所有通道设置值,格式为spring.cloud.stream.rabbit.default.<property>=<value>.
另外,请记住,绑定特定属性会覆盖默认情况下的对应属性。
- altermateExchange.binding.queue
-
如果交换还不存在,且
名称如果提供了,将该队列绑定到备用交换机。 配置一个无参数的简单持久队列;如果需要更复杂的配置,你必须自己配置并绑定队列。违约:
零alternateExchange.binding.routingKey 如果交换还不存在,且名称和队列如果提供了,请使用该路由密钥将队列绑定到备用交换机。默认:(对于默认
#主题替代交换) - alternateExchange.exists
-
是否存在备用交换机,或者需要配置。
违约:
false - alternateExchange.type
-
如果备用交换机尚未存在,则需要提供交换类型。
违约:
主题 - alternateExchange.name
-
在目的地交换机上配置一个备用交换机。
违约:
零 - autoBindDlq
-
是否要自动声明DLQ并将其绑定到绑定器DLX上。
违约:
false. - batchingEnabled
-
是否启用生产商的消息批处理。 消息根据以下属性(在本列表中接下来的三条目中描述)被批量整理成一条消息:“batchSize”,
batchBufferLimit(批处理缓冲限制)和batchTimeout. 更多信息请参见批处理。 另见“接收批量消息”。违约:
false. - 批量大小
-
启用批处理时需要缓冲的消息数量。
违约:
100. - batchBufferLimit(批处理缓冲限制)
-
启用批处理时的最大缓冲区大小。
违约:
10000. - batchTimeout
-
开启批处理时的批处理超时。
违约:
5000. - 绑定路由键
-
用来绑定队列到交换机的路由密钥(如果
绑定队列是true). 可以有多个键——参见bindingRoutingKeyDelimiter. 对于分区的目的地,-n附加在每个键上。 仅适用于必要组仅提供给这些群体。违约:。
# - bindingRoutingKeyDelimiter
-
当这不是空时,'bindingRoutingKey' 被视为由该值分隔的键列表;通常会使用逗号。 仅适用于
必要组仅提供给这些群体。违约:
零. - 绑定队列
-
是否声明队列并将其绑定到目的交换机。 设置为
false如果你已经搭建了自己的基础设施,并且之前已经创建并绑定了队列。 仅适用于必要组仅提供给这些群体。违约:
true. - 压缩
-
发送数据时是否应压缩。
违约:
false. - 确认Ack频道
-
什么时候
errorChannelEnabled是真的,这是一个发送正面送达确认(即出版商确认)的渠道。 如果该信道不存在,则直达频道注册时使用该名称。 连接工厂必须配置为启用发布者确认。 互斥的useConfirmHeader.违约:
零通道(确认被丢弃)。 - deadLetterQueueName
-
DLQ的名称 仅适用于
必要组仅提供给这些群体。违约:
prefix+destination.dlq - 死信交换
-
一个DLX来分配到队列。 仅在当时相关
autoBindDlq是true. 仅适用于必要组仅提供给这些群体。默认:'前缀+DLX'
- 死信交换类型
-
分配到队列的DLX类型。 只有在
autoBindDlq是true. 仅适用于必要组仅提供给这些群体。默认:'直接'
- deadLetterRoutingKey
-
一个死信路由密钥来分配到队列。 仅在当时相关
autoBindDlq是true. 仅适用于必要组仅提供给这些群体。违约:
目的地 - declareDlx
-
是否申报目的地的空信交换。 只有在
autoBindDlq是true. 设置为false如果你有预配置的DLX。 仅适用于必要组仅提供给这些群体。违约:
true. - 声明交换
-
是否要宣布目的地的交换。
违约:
true. - 延迟表达式
-
一个 SpEL 表达式用于评估应用到消息上的延迟(
X延迟页首)。 如果交换不是延迟消息交换,则无效。默认:否
X延迟标头已设置。 - 延迟交换
-
是否应声明该交换为
延迟消息交换. 需要经纪商上的延迟消息交换插件。 这X-延迟型参数设置为exchange类型.违约:
false. - 传递模式
-
传递方式。
违约:
持续. - dlqBindingArguments
-
在将DLQ绑定于死信交换时适用的论点;与
头死信交换类型指定匹配的头部。 例如…dlqBindingArguments.x-match=any,…dlqBindingArguments.someHeader=someValue. 仅适用于必要组仅提供给这些群体。默认:空
- dlqDeadLetterExchange(死信交换)
-
当 DLQ 声明时,会为该队列分配一个 DLX。 仅适用于
必要组仅提供给这些群体。违约:
没有 - dlqDeadLetterRoutingKey
-
当宣告 DLQ 时,会分配一个死符路由密钥到该队列。 仅适用于
必要组仅提供给这些群体。违约:
没有 - dlq过期
-
多久(毫秒)会删除未使用的死字母队列。 仅适用于
必要组仅提供给这些群体。违约:
无过期 - dlq懒惰
-
声明死信队列,使用
x-queue-mode=lazy论点。 参见“懒散排队”。 考虑用策略代替这个设置,因为使用策略可以在不删除队列的情况下更改设置。 仅适用于必要组仅提供给这些群体。 - dlq最大长度
-
死信队列中最大消息数量。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - dlqMaxLengthBytes
-
所有消息中死字母队列中总字节数的最大。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - DLQMax优先级
-
死信队列中消息的最大优先级(0-255) 仅适用于
必要组仅提供给这些群体。违约:
没有 - dlqQuorum.deliveryLimit(限量)
-
什么时候
quorum.enabled=true设置投递限制,超过此后消息被丢弃或写入死字母。 仅适用于必要组仅提供给这些群体。违约:无——将适用经纪人违约。
- dlqQuorum.enabled
-
如果为真,创建法定人数死信队列,而不是传统的队列。 仅适用于
必要组仅提供给这些群体。默认:false
- dlqQuorum.initialGroupSize
-
什么时候
quorum.enabled=true,设定初始的法定人数。 仅适用于必要组仅提供给这些群体。违约:无——将适用经纪人违约。
- dlq单一活跃消费者
-
设置为 true,以设置
x-单一-主动-消费者队列属性转为true。 仅适用于必要组仅提供给这些群体。违约:
false - dlqTtl
-
默认的存活时间(以毫秒计)在声明时应用到死符队列。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - 交换自动删除
-
如果
声明交换是true,是否应自动删除交换(在最后一个队列被移除后自动删除)。违约:
true. - 交换耐用
-
如果
声明交换是true,交易所是否应具备持久性(经纪商重启后存活)。违约:
true. - exchange类型
-
交换类型:
直接,扇形,头或主题对于非分区目的和直接,头或主题用于分区目的地。违约:
主题. - 到期
-
未使用的队列被删除前需要多长时间(毫秒)。 仅适用于
必要组仅提供给这些群体。违约:
无过期 - 头部模式
-
将头映射到外发消息的模式。
默认:(所有头部)。
['*'] - 懒惰
-
声明队列
x-queue-mode=lazy论点。 参见“懒散排队”。 考虑用策略代替这个设置,因为使用策略可以在不删除队列的情况下更改设置。 仅适用于必要组仅提供给这些群体。违约:
false. - 最大长度
-
队列中最大消息数量。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - maxLengthBytes
-
所有消息队列中总字节的最大数值。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - maxPriority
-
队列中消息的最大优先级(0-255)。 仅适用于
必要组仅提供给这些群体。违约:
没有 - 前缀
-
在名称后加上一个前缀
目的地交换。默认:“。
- 制作类型
-
制作人的类型。
-
AMQPAMQP客户端用于经典队列和定额队列 -
STREAM_SYNCRabbitMQ Streams 插件客户端,封锁直到收到确认 -
STREAM_ASYNCRabbitMQ Streams 插件客户端,无法阻挡默认:“。
-
- queueBindingArguments
-
参数在绑定队列到交换时应用;与
头exchange类型指定匹配的头部。 例如…queueBindingArguments.x-match=any,…queueBindingArguments.someHeader=someValue. 仅适用于必要组仅提供给这些群体。默认:空
- 仅 queueNameGroupOnly
-
什么时候
true,从一个名为 的队列中取用群. 否则,队列名称为目的地.group. 例如,当使用 Spring Cloud Stream 从现有的 RabbitMQ 队列中进行消费时,这非常有用。 仅适用于必要组仅提供给这些群体。默认:false。
- quorum.deliveryLimit(法定人数)限制
-
什么时候
quorum.enabled=true设置投递限制,超过此后消息被丢弃或写入死字母。 仅适用于必要组仅提供给这些群体。违约:无——将适用经纪人违约。
- quorum.enabled
-
当成立时,创建法定人数队列,而非经典队列。 仅适用于
必要组仅提供给这些群体。默认:false
- quorum.initialGroupSize
-
什么时候
quorum.enabled=true,设定初始的法定人数。 仅适用于必要组仅提供给这些群体。违约:无——将适用经纪人违约。
- 路由键表达式
-
一个用于确定发布消息时使用的路由密钥的SpEL表达式。 对于固定路由密钥,使用
路由键.违约:
目的地或目的<分区>用于分区目的地。 - 路由键
-
一个定义固定路由密钥的字符串,用于发布消息。
默认:参见
路由键表达式 - 单一活跃消费者
-
设置为 true,以设置
x-单一-主动-消费者队列属性转为true。 仅适用于必要组仅提供给这些群体。违约:
false - 交易
-
是否使用交易通道。
违约:
false. - TTL
-
默认的存活时间(毫秒)在宣告时应用到队列中。 仅适用于
必要组仅提供给这些群体。违约:
没有限制 - useConfirmHeader
-
详见出版商确认。 互斥的
确认Ack频道.在RabbitMQ的情况下,内容类型头部可以由外部应用程序设置。 Spring Cloud Stream 作为扩展内部协议的一部分支持它们,适用于任何类型的传输——包括如 Kafka(0.11 之前)原生不支持头部的传输。