SpringCloud Rabbit生产者Properties
以下属性仅适用于Rabbit生产者,并且必须以spring.cloud.stream.rabbit.bindings.<channelName>.producer.
为前缀。
- autoBindDlq
是否自动声明DLQ并将其绑定到绑定器DLX。
默认值:
false
。- batchingEnabled
是否启用生产者的邮件批处理。根据以下属性(在此列表的后三个条目中进行了描述),将消息批处理为一条消息:'batchSize',
batchBufferLimit
和batchTimeout
。有关更多信息,请参见批处理。默认值:
false
。- batchSize
启用批处理时要缓冲的消息数。
默认值:
100
。- batchBufferLimit
启用批处理时的最大缓冲区大小。
默认值:
10000
。- batchTimeout
启用批处理时的批处理超时。
默认值:
5000
。- bindingRoutingKey
用于将队列绑定到交换机的路由密钥(如果
bindQueue
为true
)。仅适用于未分区的目的地。仅在提供requiredGroups
的情况下适用,然后仅对那些组有效。默认值:
#
。- bindQueue
是否将队列绑定到目标交换机。如果您已经设置了自己的基础结构并且先前已创建并绑定了队列,则将其设置为
false
。仅在提供requiredGroups
的情况下适用,然后仅对那些组有效。默认值:
true
。- 压缩
发送时是否应压缩数据。
默认值:
false
。- deadLetterQueueName
DLQ的名称仅在提供了
requiredGroups
之后才适用,然后仅适用于那些组。默认值:
prefix+destination.dlq
- deadLetterExchange
分配给队列的DLX。仅当
autoBindDlq
为true
时相关。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:“ prefix + DLX”
- deadLetterExchangeType
分配给队列的DLX的类型。仅当
autoBindDlq
为true
时才相关。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:“直接”
- deadLetterRoutingKey
分配给队列的死信路由键。仅当
autoBindDlq
为true
时相关。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:
destination
- 声明Dlx
是否声明目的地交换死信。仅当
autoBindDlq
为true
时才相关。如果您有预配置的DLX,请设置为false
。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:
true
。- 声明交换
是否声明目的地交换。
默认值:
true
。- delayExpression
一个SpEL表达式,用于评估应用于消息的延迟(
x-delay
标头)。如果交换不是延迟的消息交换,则无效。默认值:未设置
x-delay
头。- 延迟交易
是否将交换声明为
Delayed Message Exchange
。需要代理上的延迟消息交换插件。x-delayed-type
参数设置为exchangeType
。默认值:
false
。- deliveryMode
交付方式。
默认值:
PERSISTENT
。- dlqDeadLetterExchange
声明DLQ后,将分配给该队列的DLX。仅在提供了
requiredGroups
之后才适用,然后仅对那些组适用。默认值:
none
- dlqDeadLetterRoutingKey
声明DLQ后,将分配一个死信路由密钥给该队列。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
none
- dlqExpires
删除未使用的死信队列之前的时间(以毫秒为单位)。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no expiration
- dlqLazy
- 用
x-queue-mode=lazy
参数声明死信队列。请参阅“ 惰性队列 ”。考虑使用策略而不是此设置,因为使用策略允许更改设置而不删除队列。仅在提供requiredGroups
时适用,然后仅适用于那些组。 - dlqMaxLength
死信队列中的最大消息数。仅在提供了
requiredGroups
之后才适用,然后仅对那些组适用。默认值:
no limit
- dlqMaxLengthBytes
所有消息中的死信队列中的最大总字节数。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no limit
- dlqMaxPriority
死信队列中邮件的最大优先级(0-255)仅在提供
requiredGroups
时才适用,然后仅适用于那些组。默认值:
none
- dlqTtl
声明时应用于死信队列的默认生存时间(以毫秒为单位)。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no limit
- exchangeAutoDelete
如果
declareExchange
为true
,则是否应自动删除交换(在删除最后一个队列之后将其删除)。默认值:
true
。- 耐用
如果
declareExchange
为true
,则交换是否应该持久(在代理重新启动后生存)。默认值:
true
。- exchangeType
交换类型:
direct
,fanout
或topic
用于未分区的目的地,direct
或topic
用于分区的目的地。默认值:
topic
。- 过期
删除未使用的队列之前的时间(以毫秒为单位)。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no expiration
- headerPatterns
标头要映射到出站邮件的模式。
默认值:
['*']
(所有标题)。- 懒
使用
x-queue-mode=lazy
参数声明队列。请参阅“ 惰性队列 ”。考虑使用策略而不是此设置,因为使用策略允许更改设置而不删除队列。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:
false
。- 最长长度
队列中的最大消息数。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no limit
- maxLengthBytes
来自所有消息的队列中的最大总字节数。仅在提供
requiredGroups
的情况下适用,然后仅对那些组有效。默认值:
no limit
- maxPriority
队列中消息的最大优先级(0-255)。仅在提供
requiredGroups
的情况下适用,然后仅对那些组有效。默认值:
none
- 字首
要添加到
destination
交换名称的前缀。默认值:“”。
- queueNameGroupOnly
当
true
时,从名称等于group
的队列中使用。否则,队列名称为destination.group
。例如,在使用Spring Cloud Stream从现有RabbitMQ队列中消费时,这很有用。仅在提供requiredGroups
时适用,然后仅适用于那些组。默认值:false。
- routingKeyExpression
一个SpEL表达式,用于确定发布消息时要使用的路由密钥。对于固定的路由键,请使用文字表达式,例如属性文件中的
routingKeyExpression='my.routingKey'
或YAML文件中的routingKeyExpression: '''my.routingKey'''
。默认值:
destination
或destination-<partition>
(用于分区目标)。- 交易的
是否使用交易渠道。
默认值:
false
。- ttl
声明时适用于队列的默认生存时间(以毫秒为单位)。仅在提供
requiredGroups
时适用,然后仅适用于那些组。默认值:
no limit
对于RabbitMQ,可以由外部应用程序设置内容类型标头。Spring Cloud Stream支持它们作为用于任何类型的传输的扩展内部协议的一部分—包括Kafka(0.11之前的版本)之类的传输,其本身不支持标头。
更多建议: