SpringCloud 生產(chǎn)者Properties

2023-11-29 15:14 更新

這些屬性通過org.springframework.cloud.stream.binder.ProducerProperties公開

以下綁定屬性僅可用于輸出綁定,并且必須以spring.cloud.stream.bindings.<channelName>.producer.為前綴(例如,spring.cloud.stream.bindings.input.producer.partitionKeyExpression=payload.id)。

可以使用前綴spring.cloud.stream.default.producer(例如,spring.cloud.stream.default.producer.partitionKeyExpression=payload.id)設(shè)置默認(rèn)值。

partitionKeyExpression

一個(gè)SpEL表達(dá)式,用于確定如何對(duì)出站數(shù)據(jù)進(jìn)行分區(qū)。如果已設(shè)置或設(shè)置了partitionKeyExtractorClass,則會(huì)對(duì)該通道上的出站數(shù)據(jù)進(jìn)行分區(qū)。partitionCount必須設(shè)置為大于1的值才能生效。partitionKeyExtractorClass互斥。請(qǐng)參見“分區(qū)支持” 。

默認(rèn)值:null。

partitionKeyExtractorClass

PartitionKeyExtractorStrategy實(shí)現(xiàn)。如果已設(shè)置,或者已設(shè)置partitionKeyExpression,則會(huì)對(duì)該通道上的出站數(shù)據(jù)進(jìn)行分區(qū)。partitionCount必須設(shè)置為大于1的值才能生效。partitionKeyExpression互斥。請(qǐng)參見“分區(qū)支持” 。

默認(rèn)值:null

partitionSelectorClass

PartitionSelectorStrategy實(shí)現(xiàn)。partitionSelectorExpression互斥。如果兩者均未設(shè)置,則將該分區(qū)選擇為hashCode(key) % partitionCount,其中key通過partitionKeyExpressionpartitionKeyExtractorClass計(jì)算。

默認(rèn)值:null。

partitionSelectorExpression

用于自定義分區(qū)選擇的SpEL表達(dá)式。partitionSelectorClass互斥。如果兩者均未設(shè)置,則將分區(qū)選擇為hashCode(key) % partitionCount,其中key通過partitionKeyExpressionpartitionKeyExtractorClass計(jì)算。

默認(rèn)值:null。

partitionCount

數(shù)據(jù)的目標(biāo)分區(qū)數(shù)(如果啟用了分區(qū))。如果生產(chǎn)者已分區(qū),則必須將其設(shè)置為大于1的值。在Kafka上,它被解釋為提示。取其較大者,并使用目標(biāo)主題的分區(qū)數(shù)。

默認(rèn)值:1。

requiredGroups
生產(chǎn)者必須確保將消息傳遞到的組的逗號(hào)分隔列表,即使它們是在創(chuàng)建消息之后開始的(例如,通過在RabbitMQ中預(yù)先創(chuàng)建持久隊(duì)列)。
headerMode

設(shè)置為none時(shí),它將禁用在輸出中嵌入標(biāo)頭。它僅對(duì)本身不支持消息頭并且需要消息頭嵌入的消息中間件有效。當(dāng)不支持本機(jī)頭時(shí),為非Spring Cloud Stream應(yīng)用程序生成數(shù)據(jù)時(shí),此選項(xiàng)很有用。設(shè)置為headers時(shí),它使用中間件的本機(jī)頭機(jī)制。設(shè)置為embeddedHeaders時(shí),它將標(biāo)頭嵌入到消息有效負(fù)載中。

默認(rèn)值:取決于活頁夾的實(shí)現(xiàn)。

useNativeEncoding

設(shè)置為true時(shí),出站消息將直接由客戶端庫進(jìn)行序列化,該庫必須進(jìn)行相應(yīng)配置(例如,設(shè)置適當(dāng)?shù)腒afka生產(chǎn)者值序列化程序)。使用此配置時(shí),出站消息編組不是基于綁定的contentType。使用本機(jī)編碼時(shí),使用方負(fù)責(zé)使用適當(dāng)?shù)慕獯a器(例如,Kafka使用方值反序列化器)對(duì)入站消息進(jìn)行反序列化。此外,當(dāng)使用本機(jī)編碼和解碼時(shí),headerMode=embeddedHeaders屬性將被忽略,并且標(biāo)頭不會(huì)嵌入消息中。請(qǐng)參閱消費(fèi)者屬性useNativeDecoding

默認(rèn)值:false。

errorChannelEnabled

設(shè)置為true時(shí),如果活頁夾支持異步發(fā)送結(jié)果,則發(fā)送失敗將發(fā)送到目標(biāo)的錯(cuò)誤通道。參見??? 以獲取更多信息。

默認(rèn)值:false。


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)