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之前的版本)之类的传输,其本身不支持标头。