SpringCloud RabbitMQ消費(fèi)者Properties

2023-11-29 15:54 更新

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

確認(rèn)模式

確認(rèn)模式。

默認(rèn)值:AUTO

autoBindDlq

是否自動(dòng)聲明DLQ并將其綁定到綁定器DLX。

默認(rèn)值:false

bindingRoutingKey

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

默認(rèn)值:#。

bindQueue

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

默認(rèn)值:true。

ConsumerTagPrefix

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

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

deadLetterQueueName

DLQ的名稱

默認(rèn)值:prefix+destination.dlq

deadLetterExchange

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

默認(rèn)值:“ prefix + DLX”

deadLetterExchangeType

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

默認(rèn)值:“直接”

deadLetterRoutingKey

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

默認(rèn)值:destination

聲明Dlx

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

默認(rèn)值:true。

聲明交換

是否聲明目的地交換。

默認(rèn)值:true。

延遲交易

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

默認(rèn)值:false。

dlqDeadLetterExchange

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

默認(rèn)值:none

dlqDeadLetterRoutingKey

如果聲明了DLQ,則為該隊(duì)列分配一個(gè)死信路由密鑰。

默認(rèn)值:none

dlqExpires

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

默認(rèn)值:no expiration

dlqLazy

x-queue-mode=lazy參數(shù)聲明死信隊(duì)列。請(qǐng)參閱惰性隊(duì)列考慮使用策略而不是此設(shè)置,因?yàn)槭褂貌呗栽试S更改設(shè)置而不刪除隊(duì)列。

默認(rèn)值:false。

dlqMaxLength

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

默認(rèn)值:no limit

dlqMaxLengthBytes

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

默認(rèn)值:no limit

dlqMaxPriority

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

默認(rèn)值:none

dlqOverflow行為

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

默認(rèn)值:none

dlqTtl

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

默認(rèn)值:no limit

持久訂閱

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

默認(rèn)值:true。

exchangeAutoDelete

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

默認(rèn)值:true。

耐用

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

默認(rèn)值:true。

exchangeType

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

默認(rèn)值:topic。

獨(dú)家

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

默認(rèn)值:false。

過期

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

默認(rèn)值:no expiration

failedDeclarationRetryInterval

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

默認(rèn)值:5000

headerPatterns

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

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

使用x-queue-mode=lazy參數(shù)聲明隊(duì)列。請(qǐng)參閱惰性隊(duì)列。考慮使用策略而不是此設(shè)置,因?yàn)槭褂貌呗栽试S更改設(shè)置而不刪除隊(duì)列。

默認(rèn)值:false。

maxConcurrency

最大消費(fèi)者數(shù)。

默認(rèn)值:1。

最長(zhǎng)長(zhǎng)度

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

默認(rèn)值:no limit

maxLengthBytes

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

默認(rèn)值:no limit

maxPriority

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

默認(rèn)值:none

missingQueuesFatal

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

默認(rèn)值:false

溢出行為

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

默認(rèn)值:none

預(yù)取

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

默認(rèn)值:1

字首

要添加到destination和隊(duì)列名稱的前綴。

默認(rèn)值:“”。

queueDeclarationRetries

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

默認(rèn)值:3

queueNameGroupOnly

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

默認(rèn)值:false。

recoveryInterval

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

默認(rèn)值:5000

重新排隊(duì)

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

默認(rèn)值:false。

republishDeliveryMode

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

默認(rèn)值:DeliveryMode.PERSISTENT

republishToDlq

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

默認(rèn)值:false

交易的

是否使用交易渠道。

默認(rèn)值:false。

ttl

聲明時(shí)應(yīng)用于隊(duì)列的默認(rèn)生存時(shí)間(以毫秒為單位)。

默認(rèn)值:no limit

txSize

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

默認(rèn)值:1。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)