我正在嘗試將全域狀態存盤添加到我的拓撲中,但由于 多載解析度模糊而出現錯誤。所有這些功能都匹配。
val stateStoreBuilder =
Stores.keyValueStoreBuilder(
Stores.persistentKeyValueStore("my_global_store"),
Serdes.String(),
Serdes.String()
)
topology.addGlobalStore(
stateStoreBuilder,
"source_name",
KEY_JSON_DE,
VALUE_JSON_DE,
"topic_name",
"processor_name",
{ MyStoreProcessor::class.java },
)
addGlobalStore方法出現錯誤。在 Gradle 檔案中使用以下版本:-
kotlin("jvm") 版本 "1.7.10" kotlin("plugin.spring") 版本 "1.7.10"
實施(“org.apache.kafka:kafka-streams:3.3.1”)實施(“org.springframework.kafka:spring-kafka”)

uj5u.com熱心網友回復:
我認為問題出在錯誤的小寫字母中。
Kotlin 編譯器無法確定使用哪種方法。特別是它應該將最后一個 lambda 映射到哪個類,org.apache.kafka.streams.processor.ProcessSupplier或者org.apache.kafka.streams.processor.api.ProcessSupplier(注意后者在中間有一個api包)。
我認為如果你投射 lambda,它應該可以作業。我從未嘗試過,但我想知道將行更改為以下內容是否可行
{ MyStoreProcessor::class.java } as org.apache.kafka.streams.processor.api.ProcessSupplier
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516815.html
上一篇:以這種方式使用列舉是否合適?
