SpringCloud RabbitMQ消費者Properties

2023-11-29 15:54 更新

以下屬性僅適用于Rabbit使用者,并且必須以spring.cloud.stream.rabbit.bindings.<channelName>.consumer.為前綴。

確認模式

確認模式。

默認值:AUTO。

autoBindDlq

是否自動聲明DLQ并將其綁定到綁定器DLX。

默認值:false

bindingRoutingKey

用于將隊列綁定到交換機的路由密鑰(如果bindQueuetrue)。對于分區(qū)的目的地,附加了-<instanceIndex>。

默認值:#。

bindQueue

是否將隊列綁定到目標(biāo)交換機。如果您已經(jīng)設(shè)置了自己的基礎(chǔ)結(jié)構(gòu)并且先前已創(chuàng)建并綁定了隊列,則將其設(shè)置為false。

默認值:true。

ConsumerTagPrefix

用于創(chuàng)建消費者標(biāo)簽;將被附加在#n之后,其中對于每個創(chuàng)建的使用者,n遞增。例如:${spring.application.name}-${spring.cloud.stream.bindings.input.group}-${spring.cloud.stream.instance-index}。

默認值:無-經(jīng)紀(jì)人將生成隨機的消費者標(biāo)簽。

deadLetterQueueName

DLQ的名稱

默認值:prefix+destination.dlq

deadLetterExchange

分配給隊列的DLX。僅當(dāng)autoBindDlqtrue時才相關(guān)。

默認值:“ prefix + DLX”

deadLetterExchangeType

分配給隊列的DLX的類型。僅當(dāng)autoBindDlqtrue時才相關(guān)。

默認值:“直接”

deadLetterRoutingKey

分配給隊列的死信路由鍵。僅當(dāng)autoBindDlqtrue時才相關(guān)。

默認值:destination

聲明Dlx

是否聲明目的地交換死信。僅當(dāng)autoBindDlqtrue時才相關(guān)。如果您有預(yù)配置的DLX,請設(shè)置為false。

默認值:true。

聲明交換

是否聲明目的地交換。

默認值:true。

延遲交易

是否將交換聲明為Delayed Message Exchange。需要代理上的延遲消息交換插件。x-delayed-type參數(shù)設(shè)置為exchangeType。

默認值:false。

dlqDeadLetterExchange

如果聲明了DLQ,則分配給該隊列的DLX。

默認值:none

dlqDeadLetterRoutingKey

如果聲明了DLQ,則為該隊列分配一個死信路由密鑰。

默認值:none

dlqExpires

刪除未使用的死信隊列的時間(以毫秒為單位)。

默認值:no expiration

dlqLazy

x-queue-mode=lazy參數(shù)聲明死信隊列。請參閱惰性隊列考慮使用策略而不是此設(shè)置,因為使用策略允許更改設(shè)置而不刪除隊列。

默認值:false。

dlqMaxLength

死信隊列中的最大消息數(shù)。

默認值:no limit

dlqMaxLengthBytes

所有消息中的死信隊列中的最大總字節(jié)數(shù)。

默認值:no limit

dlqMaxPriority

死信隊列中消息的最大優(yōu)先級(0-255)。

默認值:none

dlqOverflow行為

超過dlqMaxLengthdlqMaxLengthBytes時應(yīng)采取的行動;當(dāng)前為drop-headreject-publish,但請參考RabbitMQ文檔。

默認值:none

dlqTtl

聲明時應(yīng)用于死信隊列的默認生存時間(以毫秒為單位)。

默認值:no limit

持久訂閱

訂閱是否應(yīng)持久。僅當(dāng)還設(shè)置了group時才有效。

默認值:true

exchangeAutoDelete

如果declareExchange為true,則是否應(yīng)自動刪除交換(即在刪除最后一個隊列之后將其刪除)。

默認值:true。

耐用

如果declareExchange為真,則該交換是否應(yīng)該持久(即,在代理重新啟動后仍然存在)。

默認值:true。

exchangeType

交換類型:非分區(qū)目的地為directfanouttopic,分區(qū)目的地為directtopic。

默認值:topic

獨家

是否創(chuàng)建獨家消費者。當(dāng)為true時,并發(fā)應(yīng)為1。通常在需要嚴(yán)格訂購但使熱備用實例在發(fā)生故障后接管時使用。請參閱recoveryInterval,該文件控制備用實例嘗試使用的頻率。

默認值:false。

過期

刪除未使用的隊列的時間(以毫秒為單位)。

默認值:no expiration

failedDeclarationRetryInterval

缺少隊列的嘗試之間的間隔(以毫秒為單位)。

默認值:5000

headerPatterns

從入站郵件映射標(biāo)頭的模式。

默認值:['*'](所有標(biāo)題)。

使用x-queue-mode=lazy參數(shù)聲明隊列。請參閱惰性隊列。考慮使用策略而不是此設(shè)置,因為使用策略允許更改設(shè)置而不刪除隊列。

默認值:false。

maxConcurrency

最大消費者數(shù)。

默認值:1。

最長長度

隊列中的最大消息數(shù)。

默認值:no limit

maxLengthBytes

來自所有消息的隊列中的最大總字節(jié)數(shù)。

默認值:no limit

maxPriority

隊列中消息的最大優(yōu)先級(0-255)。

默認值:none

missingQueuesFatal

當(dāng)找不到隊列時,是否將條件視為致命并停止偵聽器容器。默認值為false,以便容器繼續(xù)嘗試從隊列中使用數(shù)據(jù),例如,在使用群集且承載非HA隊列的節(jié)點關(guān)閉時。

默認值:false

溢出行為

超過maxLengthmaxLengthBytes時應(yīng)采取的行動;當(dāng)前為drop-headreject-publish,但請參考RabbitMQ文檔。

默認值:none

預(yù)取

預(yù)取計數(shù)。

默認值:1。

字首

要添加到destination和隊列名稱的前綴。

默認值:“”。

queueDeclarationRetries

缺少隊列時重試消耗的次數(shù)。僅當(dāng)missingQueuesFataltrue時相關(guān)。否則,容器將無限期地重試。

默認值:3

queueNameGroupOnly

為true時,從名稱等于group的隊列中使用。否則,隊列名稱為destination.group。例如,在使用Spring Cloud Stream從現(xiàn)有RabbitMQ隊列中消費時,這很有用。

默認值:false。

recoveryInterval

連接恢復(fù)嘗試之間的時間間隔(以毫秒為單位)。

默認值:5000

重新排隊

禁用重試或republishToDlqfalse時是否應(yīng)該重新排定傳送失敗。

默認值:false

republishDeliveryMode

當(dāng)republishToDlqtrue時,指定重新發(fā)布郵件的傳遞方式。

默認值:DeliveryMode.PERSISTENT

republishToDlq

默認情況下,拒絕重試后失敗的消息將被拒絕。如果配置了死信隊列(DLQ),則RabbitMQ將失敗的消息(未更改)路由到DLQ。如果設(shè)置為true,則綁定程序?qū)⑹褂闷渌麡?biāo)頭將失敗的消息重新發(fā)布到DLQ,包括異常消息和來自最終失敗原因的堆棧跟蹤。

默認值:false

交易的

是否使用交易渠道。

默認值:false。

ttl

聲明時應(yīng)用于隊列的默認生存時間(以毫秒為單位)。

默認值:no limit

txSize

兩次之間的分娩次數(shù)。

默認值:1。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號