RabbitMQ 消费者属性
以下房产仅供Rabbit用户使用,且必须在前缀前加spring.cloud.stream.rabbit.bindings.<channelName>.consumer..
然而,如果大多数绑定需要应用相同的性质集合,则
避免重复,Spring Cloud Stream支持为所有频道设置数值,
格式为spring.cloud.stream.rabbit.default.<property>=<value>.
另外,请记住,绑定特定属性会覆盖默认情况下的对应属性。
- 承认模式
-
确认模式。
违约:
自动. - 匿名组前缀
-
当绑定没有
群属性是一个匿名的自动删除队列,绑定到目的地交换。 此类队列的默认命名策略会生成一个名为匿名.<base64的UUID表示>. 将此属性设置为将前缀改为非默认的。违约:
匿名。. - autoBindDlq
-
是否要自动声明DLQ并将其绑定到绑定器DLX上。
违约:
false. - 绑定路由键
-
用来绑定队列到交换机的路由密钥(如果
绑定队列是true). 可以有多个键——参见bindingRoutingKeyDelimiter. 对于分区的目的地,-<实例索引>附加在每个键上。违约:。
# - bindingRoutingKeyDelimiter
-
当这不是空时,'bindingRoutingKey' 被视为由该值分隔的键列表;通常会使用逗号。
违约:
零. - 绑定队列
-
是否声明队列并将其绑定到目的交换机。 设置为
false如果你已经搭建了自己的基础设施,并且之前已经创建并绑定了队列。违约:
true. - consumerTagPrefix
-
用于创建消费者标签;将附于
#n哪里n每个消费者创建的增量。 例:${spring.application.name}-${spring.cloud.stream.bindings.input.group}-${spring.cloud.stream.instance-index}.默认:无——经纪人会生成随机的消费者标签。
- containerType
-
选择要使用的监听器容器类型。 更多信息请参见春季AMQP文档中的“选择容器”。 另见[rabbitmq-stream]。
违约:
简单 - deadLetterQueueName
-
DLQ的名称
违约:
prefix+destination.dlq - 死信交换
-
一个DLX来分配到队列。 只有在
autoBindDlq是true.默认:'前缀+DLX'
- 死信交换类型
-
分配到队列的DLX类型。 只有在
autoBindDlq是true.默认:'直接'
- deadLetterRoutingKey
-
一个死信路由密钥来分配到队列。 只有在
autoBindDlq是true.违约:
目的地 - declareDlx
-
是否申报目的地的空信交换。 只有在
autoBindDlq是true. 设置为false如果你有预配置的DLX。违约:
true. - 声明交换
-
是否要宣布目的地的交换。
违约:
true. - 延迟交换
-
是否应声明该交换为
延迟消息交换. 需要经纪商上的延迟消息交换插件。 这X-延迟型参数设置为exchange类型.违约:
false. - dlqBindingArguments
-
在将DLQ绑定于死信交换时适用的论点;与
头死信交换类型指定匹配的头部。 例如…dlqBindingArguments.x-match=any,…dlqBindingArguments.someHeader=someValue.默认:空
- dlqDeadLetterExchange(死信交换)
-
如果声明了DLQ,则分配一个DLX到该队列。
违约:
没有 - dlqDeadLetterRoutingKey
-
如果声明了DLQ,则会分配一个死字母路由密钥到该队列。
违约:
没有 - dlq过期
-
未使用的死信队列被删除前多久(毫秒级)。
违约:
无过期 - dlq懒惰
-
声明死信队列,使用
x-queue-mode=lazy论点。 参见“懒散排队”。 考虑用策略代替这个设置,因为使用策略可以在不删除队列的情况下更改设置。违约:
false. - dlq最大长度
-
死信队列中最大消息数量。
违约:
没有限制 - dlqMaxLengthBytes
-
所有消息中死字母队列中总字节数的最大。
违约:
没有限制 - DLQMax优先级
-
死信队列中消息的最大优先级(0-255)。
违约:
没有 - dlq溢出行为
-
应采取的行动
dlq最大长度或dlqMaxLengthBytes超过;现在下垂头或拒绝-发布但请参考RabbitMQ文档。违约:
没有 - dlqQuorum.deliveryLimit(限量)
-
什么时候
quorum.enabled=true设置投递限制,超过此后消息被丢弃或写入死字母。违约:无——将适用经纪人违约。
- dlqQuorum.enabled
-
如果为真,创建法定人数死信队列,而不是传统的队列。
默认:false
- dlqQuorum.initialGroupSize
-
什么时候
quorum.enabled=true,设定初始的法定人数。违约:无——将适用经纪人违约。
- dlq单一活跃消费者
-
设置为 true,以设置
x-单一-主动-消费者队列属性转为true。违约:
false - dlqTtl
-
默认的生存时间在声明时应用到死字母队列(以毫秒为单位)。
违约:
没有限制 - 耐用订阅
-
订阅是否应该是持久的。 只有当
群也已设定。违约:
true. - 交换自动删除
-
如果
声明交换是否应自动删除交换(即在最后一个队列被移除后删除)。违约:
true. - 交换耐用
-
如果
声明交换是否应当保持持久性(即经纪商重启后存活)为真。违约:
true. - exchange类型
-
交换类型:
直接,扇形,头或主题对于非分区目的和直接,头部或主题用于分区目的地。违约:
主题. - 独家
-
是否要创建一个专属消费者。 当
true. 通常用于需要严格命令但能让热备份实例在故障后接管。 看恢复间隔,控制备用实例尝试消费的频率。 考虑使用单一活跃消费者而是在使用 RabbitMQ 3.8 或更高版本时。违约:
false. - 到期
-
未使用的队列被删除前多久(以毫秒计)。
违约:
无过期 - failedDeclarationRetryInterval
-
如果队列中缺少,则使用尝试消耗之间的间隔(以毫秒计)。
默认值:5000
- 框架MaxHeadroom(框架最大头量)
-
在将栈迹添加到DLQ消息头部时,应保留给其他头部的字节数。 所有头部都必须符合
frame_max经纪人已配置尺寸。 栈线可以很大;如果 的大小加上该性质frame_max然后栈跟踪会被截断。 将会记录WARN日志;考虑增加frame_max或者通过捕捉异常并抛弃一个栈轨迹较小的异常来减少栈跟踪。默认值:20000
- 头部模式
-
从入站消息映射的头部模式。
默认:(所有头部)。
['*'] - 懒惰
-
声明队列
x-queue-mode=lazy论点。 参见“懒散排队”。 考虑用策略代替这个设置,因为使用策略可以在不删除队列的情况下更改设置。违约:
false. - max并发
-
最大数量的消费者。 当
containerType是直接.违约:
1. - 最大长度
-
队列中消息的最大数量。
违约:
没有限制 - maxLengthBytes
-
所有消息中队列中总字节的最大数。
违约:
没有限制 - maxPriority
-
队列中消息的最大优先级(0-255)。
违约:
没有 - 缺失队列致命
-
当找不到队列时,是否应将该条件视为致命并停止监听器容器。 默认
false这样容器就会不断尝试从队列中获取数据——例如,当使用集群且托管非 HA 队列的节点宕机时。违约:
false - 溢出行为
-
应采取的行动
最大长度或maxLengthBytes超过;现在下垂头或拒绝-发布但请参考RabbitMQ文档。违约:
没有 - 预取
-
预取计数。
违约:
1. - 前缀
-
在名称后加上一个前缀
目的地还有排队。默认:“。
- queueBindingArguments
-
参数在绑定队列到交换时应用;与
头exchange类型指定匹配的头部。 例如…queueBindingArguments.x-match=any,…queueBindingArguments.someHeader=someValue.默认:空
- queueDeclarationRetries
-
如果队列中缺少,需要重新尝试消耗的次数。 仅在当时相关
缺失队列致命是true. 否则,容器会无限期地重试。 当containerType是直接.违约:
3 - 仅 queueNameGroupOnly
-
当为真时,从一个队列中取出的 ,其名称等于
群. 否则,队列名称为目的地.group. 例如,当使用 Spring Cloud Stream 从现有的 RabbitMQ 队列中进行消费时,这非常有用。默认:false。
- quorum.deliveryLimit(法定人数)限制
-
什么时候
quorum.enabled=true设置投递限制,超过此后消息被丢弃或写入死字母。违约:无——将适用经纪人违约。
- quorum.enabled
-
当成立时,创建法定人数队列,而非经典队列。
默认:false
- quorum.initialGroupSize
-
什么时候
quorum.enabled=true,设定初始的法定人数。违约:无——将适用经纪人违约。
- 恢复间隔
-
连接恢复尝试之间的间隔,以毫秒计。
违约:
5000. - requeueRejected
-
当重试被禁用时,是否应重新排队传输失败
转载ToDlq是false.违约:
false.
- republishDeliveryMode
-
什么时候
转载ToDlq是true,指定重发布消息的传递方式。违约:
DeliveryMode.PERSISTENT - 转载ToDlq
-
默认情况下,重试用尽后失败的消息会被拒绝。 如果配置了死号队列(DLQ),RabbitMQ会将未更改的失败消息路由到DLQ。 如果设置为
true,绑定器会通过额外的头部(包括异常消息和最终失败原因的栈追踪)重新发布到DLQ。 另见 frameMaxHeadroom 属性。违约:
true - 单一活跃消费者
-
设置为 true,以设置
x-单一-主动-消费者队列属性转为true。违约:
false - 交易
-
是否使用交易通道。
违约:
false. - TTL
-
默认的存活时间在声明时应用到队列(以毫秒为单位)。
违约:
没有限制 - txSize
-
每一次攻击之间的投球次数。 当
containerType是直接.违约:
1.