SpringCloud RabbitMQ消费者Properties
以下属性仅适用于Rabbit使用者,并且必须以spring.cloud.stream.rabbit.bindings.<channelName>.consumer.为前缀。
- 确认模式
确认模式。
默认值:
AUTO。- autoBindDlq
是否自动声明DLQ并将其绑定到绑定器DLX。
默认值:
false。- bindingRoutingKey
用于将队列绑定到交换机的路由密钥(如果
bindQueue为true)。对于分区的目的地,附加了-<instanceIndex>。默认值:
#。- bindQueue
是否将队列绑定到目标交换机。如果您已经设置了自己的基础结构并且先前已创建并绑定了队列,则将其设置为
false。默认值:
true。- ConsumerTagPrefix
用于创建消费者标签;将被附加在
#n之后,其中对于每个创建的使用者,n递增。例如:${spring.application.name}-${spring.cloud.stream.bindings.input.group}-${spring.cloud.stream.instance-index}。默认值:无-经纪人将生成随机的消费者标签。
- deadLetterQueueName
DLQ的名称
默认值:
prefix+destination.dlq- deadLetterExchange
分配给队列的DLX。仅当
autoBindDlq为true时才相关。默认值:“ prefix + DLX”
- deadLetterExchangeType
分配给队列的DLX的类型。仅当
autoBindDlq为true时才相关。默认值:“直接”
- deadLetterRoutingKey
分配给队列的死信路由键。仅当
autoBindDlq为true时才相关。默认值:
destination- 声明Dlx
是否声明目的地交换死信。仅当
autoBindDlq为true时才相关。如果您有预配置的DLX,请设置为false。默认值:
true。- 声明交换
是否声明目的地交换。
默认值:
true。- 延迟交易
是否将交换声明为
Delayed Message Exchange。需要代理上的延迟消息交换插件。x-delayed-type参数设置为exchangeType。默认值:
false。- dlqDeadLetterExchange
如果声明了DLQ,则分配给该队列的DLX。
默认值:
none- dlqDeadLetterRoutingKey
如果声明了DLQ,则为该队列分配一个死信路由密钥。
默认值:
none- dlqExpires
删除未使用的死信队列的时间(以毫秒为单位)。
默认值:
no expiration- dlqLazy
用
x-queue-mode=lazy参数声明死信队列。请参阅“ 惰性队列 ”。考虑使用策略而不是此设置,因为使用策略允许更改设置而不删除队列。默认值:
false。- dlqMaxLength
死信队列中的最大消息数。
默认值:
no limit- dlqMaxLengthBytes
所有消息中的死信队列中的最大总字节数。
默认值:
no limit- dlqMaxPriority
死信队列中消息的最大优先级(0-255)。
默认值:
none- dlqOverflow行为
超过
dlqMaxLength或dlqMaxLengthBytes时应采取的行动;当前为drop-head或reject-publish,但请参考RabbitMQ文档。默认值:
none- dlqTtl
声明时应用于死信队列的默认生存时间(以毫秒为单位)。
默认值:
no limit- 持久订阅
订阅是否应持久。仅当还设置了
group时才有效。默认值:
true。- exchangeAutoDelete
如果
declareExchange为true,则是否应自动删除交换(即在删除最后一个队列之后将其删除)。默认值:
true。- 耐用
如果
declareExchange为真,则该交换是否应该持久(即,在代理重新启动后仍然存在)。默认值:
true。- exchangeType
交换类型:非分区目的地为
direct,fanout或topic,分区目的地为direct或topic。默认值:
topic。- 独家
是否创建独家消费者。当为
true时,并发应为1。通常在需要严格订购但使热备用实例在发生故障后接管时使用。请参阅recoveryInterval,该文件控制备用实例尝试使用的频率。默认值:
false。- 过期
删除未使用的队列的时间(以毫秒为单位)。
默认值:
no expiration- failedDeclarationRetryInterval
缺少队列的尝试之间的间隔(以毫秒为单位)。
默认值:5000
- headerPatterns
从入站邮件映射标头的模式。
默认值:
['*'](所有标题)。- 懒
使用
x-queue-mode=lazy参数声明队列。请参阅“ 惰性队列 ”。考虑使用策略而不是此设置,因为使用策略允许更改设置而不删除队列。默认值:
false。- maxConcurrency
最大消费者数。
默认值:
1。- 最长长度
队列中的最大消息数。
默认值:
no limit- maxLengthBytes
来自所有消息的队列中的最大总字节数。
默认值:
no limit- maxPriority
队列中消息的最大优先级(0-255)。
默认值:
none- missingQueuesFatal
当找不到队列时,是否将条件视为致命并停止侦听器容器。默认值为
false,以便容器继续尝试从队列中使用数据,例如,在使用群集且承载非HA队列的节点关闭时。默认值:
false- 溢出行为
超过
maxLength或maxLengthBytes时应采取的行动;当前为drop-head或reject-publish,但请参考RabbitMQ文档。默认值:
none- 预取
预取计数。
默认值:
1。- 字首
要添加到
destination和队列名称的前缀。默认值:“”。
- queueDeclarationRetries
缺少队列时重试消耗的次数。仅当
missingQueuesFatal为true时相关。否则,容器将无限期地重试。默认值:
3- queueNameGroupOnly
为true时,从名称等于
group的队列中使用。否则,队列名称为destination.group。例如,在使用Spring Cloud Stream从现有RabbitMQ队列中消费时,这很有用。默认值:false。
- recoveryInterval
连接恢复尝试之间的时间间隔(以毫秒为单位)。
默认值:
5000。- 重新排队
禁用重试或
republishToDlq为false时是否应该重新排定传送失败。默认值:
false。
- republishDeliveryMode
当
republishToDlq为true时,指定重新发布邮件的传递方式。默认值:
DeliveryMode.PERSISTENT- republishToDlq
默认情况下,拒绝重试后失败的消息将被拒绝。如果配置了死信队列(DLQ),则RabbitMQ将失败的消息(未更改)路由到DLQ。如果设置为
true,则绑定程序将使用其他标头将失败的消息重新发布到DLQ,包括异常消息和来自最终失败原因的堆栈跟踪。默认值:false
- 交易的
是否使用交易渠道。
默认值:
false。- ttl
声明时应用于队列的默认生存时间(以毫秒为单位)。
默认值:
no limit- txSize
两次之间的分娩次数。
默认值:
1。