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
。
更多建议: