RabbitMQ 生產者屬性

以下屬性僅適用於 Rabbit 生產者,並且必須以 spring.cloud.stream.rabbit.bindings.<channelName>.producer. 為字首。

然而,如果需要將相同的屬性集應用於大多數繫結,為了避免重複,Spring Cloud Stream 支援以 spring.cloud.stream.rabbit.default.<property>=<value> 的格式為所有通道設定值。

此外,請記住,特定於繫結的屬性將覆蓋其在預設設定中的等效屬性。

alternateExchange.binding.queue

如果交換機尚不存在,並且提供了 name,則將此佇列繫結到備用交換機。將配置一個簡單的、持久的、不帶引數的佇列;如果需要更復雜的配置,您必須自行配置和繫結佇列。

預設值:null alternateExchange.binding.routingKey 如果交換機尚不存在,並且提供了 namequeue,則使用此路由鍵將佇列繫結到備用交換機。

預設值:# (對於預設的 topic 備用交換機)

alternateExchange.exists

備用交換機是否存在,或者是否需要配置。

預設值:false

alternateExchange.type

如果備用交換機尚不存在,要配置的交換機型別。

預設值:topic

alternateExchange.name

在目標交換機上配置備用交換機。

預設值:null

autoBindDlq

是否自動宣告死信佇列 (DLQ) 並將其繫結到繫結器死信交換機 (DLX)。

預設值:false

batchingEnabled

是否啟用生產者訊息批處理。訊息根據以下屬性(本列表後三項所述):'batchSize'、batchBufferLimitbatchTimeout 批處理為一條訊息。有關更多資訊,請參閱 批處理。另請參閱 接收批處理訊息

預設值:false

batchSize

啟用批處理時要緩衝的訊息數量。

預設值:100

batchBufferLimit

啟用批處理時的最大緩衝區大小。

預設值:10000

batchTimeout

啟用批處理時的批處理超時。

預設值:5000

bindingRoutingKey

將佇列繫結到交換機時使用的路由鍵(如果 bindQueuetrue)。可以是多個鍵 - 請參閱 bindingRoutingKeyDelimiter。對於分割槽目標,每個鍵都附加 -n。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:#

bindingRoutingKeyDelimiter

當此值不為 null 時,'bindingRoutingKey' 被視為由該值分隔的鍵列表;通常使用逗號。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值: null

bindQueue

是否宣告佇列並將其繫結到目標交換機。如果您已設定自己的基礎設施並已事先建立和繫結佇列,則將其設定為 false。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:true

compress

傳送資料時是否應壓縮資料。

預設值:false

confirmAckChannel

errorChannelEnabled 為 true 時,用於傳送肯定交付確認(即釋出者確認)的通道。如果通道不存在,則會註冊一個名為此名稱的 DirectChannel。必須配置連線工廠以啟用釋出者確認。與 useConfirmHeader 互斥。

預設值:nullChannel(確認被丟棄)。

deadLetterQueueName

DLQ 的名稱。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:prefix+destination.dlq

deadLetterExchange

要分配給佇列的 DLX。僅當 autoBindDlqtrue 時才相關。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:'prefix+DLX'

deadLetterExchangeType

要分配給佇列的 DLX 的型別。僅當 autoBindDlqtrue 時才相關。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:'direct'

deadLetterRoutingKey

要分配給佇列的死信路由鍵。僅當 autoBindDlqtrue 時才相關。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:destination

declareDlx

是否為目標宣告死信交換機。僅當 autoBindDlqtrue 時才相關。如果您有預配置的 DLX,則設定為 false。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:true

declareExchange

是否為目標宣告交換機。

預設值:true

delayExpression

一個 SpEL 表示式,用於評估應用於訊息的延遲(x-delay 頭部)。如果交換機不是延遲訊息交換機,則無效。

預設值:未設定 x-delay 頭部。

delayedExchange

是否將交換機宣告為 延遲訊息交換機。需要代理上的延遲訊息交換機外掛。x-delayed-type 引數設定為 exchangeType

預設值:false

deliveryMode

投遞模式。

預設值:PERSISTENT

dlqBindingArguments

將 dlq 繫結到死信交換機時應用的引數;與 headers deadLetterExchangeType 一起使用以指定要匹配的頭部。例如 …​dlqBindingArguments.x-match=any…​dlqBindingArguments.someHeader=someValue。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:空

dlqDeadLetterExchange

宣告 DLQ 時,要分配給該佇列的 DLX。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:none

dlqDeadLetterRoutingKey

宣告 DLQ 時,要分配給該佇列的死信路由鍵。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:none

dlqExpires

未使用死信佇列被刪除前的持續時間(毫秒)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無過期時間

dlqLazy

使用 x-queue-mode=lazy 引數宣告死信佇列。請參閱 “惰性佇列”。考慮使用策略而不是此設定,因為使用策略允許更改設定而無需刪除佇列。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

dlqMaxLength

死信佇列中的最大訊息數量。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

dlqMaxLengthBytes

死信佇列中所有訊息的總最大位元組數。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

dlqMaxPriority

死信佇列中訊息的最大優先順序 (0-255)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:none

dlqQuorum.deliveryLimit

quorum.enabled=true 時,設定一個遞送限制,超過此限制後訊息將被丟棄或進入死信。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無 - 將應用代理預設值。

dlqQuorum.enabled

當為 true 時,建立仲裁死信佇列而不是經典佇列。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:false

dlqQuorum.initialGroupSize

quorum.enabled=true 時,設定初始仲裁大小。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無 - 將應用代理預設值。

dlqSingleActiveConsumer

設定為 true 以將 x-single-active-consumer 佇列屬性設定為 true。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:false

dlqTtl

宣告死信佇列時,預設的訊息存活時間(毫秒)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

exchangeAutoDelete

如果 declareExchangetrue,則交換機是否應自動刪除(在最後一個佇列被刪除後刪除)。

預設值:true

exchangeDurable

如果 declareExchangetrue,則交換機是否應持久化(在代理重啟後仍然存在)。

預設值:true

exchangeType

非分割槽目標的交換機型別:directfanoutheaderstopic,分割槽目標的交換機型別:directheaderstopic

預設值:topic

expires

未使用佇列被刪除前的持續時間(毫秒)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無過期時間

headerPatterns

要對映到出站訊息的頭部模式。

預設值:['*'](所有頭部)。

lazy

使用 x-queue-mode=lazy 引數宣告佇列。請參閱 “惰性佇列”。考慮使用策略而不是此設定,因為使用策略允許更改設定而無需刪除佇列。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:false

maxLength

佇列中的最大訊息數量。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

maxLengthBytes

佇列中所有訊息的總最大位元組數。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

maxPriority

佇列中訊息的最大優先順序 (0-255)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:none

prefix

要新增到 destination 交換機名稱的字首。

預設值:""。

producerType

生產者的型別。

  • AMQP 經典佇列和仲裁佇列的 AMQP 客戶端

  • STREAM_SYNC RabbitMQ 流外掛客戶端,阻塞直到收到確認

  • STREAM_ASYNC RabbitMQ 流外掛客戶端,不阻塞

    預設值:""。

queueBindingArguments

將佇列繫結到交換機時應用的引數;與 headers exchangeType 一起使用以指定要匹配的頭部。例如 …​queueBindingArguments.x-match=any…​queueBindingArguments.someHeader=someValue。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:空

queueNameGroupOnly

當為 true 時,從名稱等於 group 的佇列消費。否則佇列名稱為 destination.group。例如,在使用 Spring Cloud Stream 從現有 RabbitMQ 佇列消費時,這很有用。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值: false。

quorum.deliveryLimit

quorum.enabled=true 時,設定一個遞送限制,超過此限制後訊息將被丟棄或進入死信。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無 - 將應用代理預設值。

quorum.enabled

當為 true 時,建立仲裁佇列而不是經典佇列。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:false

quorum.initialGroupSize

quorum.enabled=true 時,設定初始仲裁大小。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無 - 將應用代理預設值。

routingKeyExpression

一個 SpEL 表示式,用於確定釋出訊息時使用的路由鍵。對於固定路由鍵,請使用 routingKey

預設值:destinationdestination-<partition>(對於分割槽目標)。

routingKey

一個字串,定義釋出訊息時使用的固定路由鍵。

預設值:請參閱 routingKeyExpression

singleActiveConsumer

設定為 true 以將 x-single-active-consumer 佇列屬性設定為 true。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:false

transacted

是否使用事務通道。

預設值:false

ttl

宣告佇列時,預設的訊息存活時間(毫秒)。僅當提供了 requiredGroups 時才適用,並且僅適用於這些組。

預設值:無限制

useConfirmHeader

請參閱 釋出者確認。與 confirmAckChannel 互斥。

在 RabbitMQ 的情況下,內容型別頭部可以由外部應用程式設定。Spring Cloud Stream 將它們作為用於任何型別傳輸(包括 Kafka (0.11 之前) 等原生不支援頭部的傳輸)的擴充套件內部協議的一部分來支援。
© . This site is unofficial and not affiliated with VMware.