我正在将 Spring Boot 应用程序升级到 Boot 2.6.1、Cloud 2021.0.0 和 Cloud Stream 3.2.1。
该应用程序有一堆 KStream,例如:
@Bean
fun processEvent() =
Function<KStream<ID, EventReceived>, KStream<Id, UpdatedInfo?>> { events ->
...
}
现在应用程序在启动时崩溃:
Caused by: org.springframework.kafka.KafkaException: Could not start stream: ; nested exception is java.lang.UnsupportedOperationException: Implementations of KafkaClientSupplier should implement the getAdmin() method.
at org.springframework.kafka.config.StreamsBuilderFactoryBean.start(StreamsBuilderFactoryBean.java:359)
at org.springframework.cloud.stream.binder.kafka.streams.StreamsBuilderFactoryManager.start(StreamsBuilderFactoryManager.java:107)
... 15 common frames omitted
Caused by: java.lang.UnsupportedOperationException: Implementations of KafkaClientSupplier should implement the getAdmin() method.
at org.apache.kafka.streams.KafkaClientSupplier.getAdmin(KafkaClientSupplier.java:40)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:846)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:711)
at org.springframework.kafka.config.StreamsBuilderFactoryBean.start(StreamsBuilderFactoryBean.java:337)
... 16 common frames omitted
这可能是什么问题?
更新
我发现有问题的clientSupplier是brave.kafka.streams.TracingKafkaClientSupplier
:
此类未实现 KafkaClientSupplier
中的预期方法(kafka-streams 3.0.0):
最佳答案
您应该针对 Brave 提出问题 - 或者可能有与 3.0.0 Kafka jar 兼容的更新版本。
与此同时,您应该能够将 kafka-clients 和 kafka-streams 降级到 2.8.1。
如果您使用嵌入式 kafka 代理进行测试,您还需要降级其他一些 jar。请参阅https://docs.spring.io/spring-kafka/docs/2.8.1-SNAPSHOT/reference/html/#update-deps
关于spring-boot - 跟踪KafkaClientSupplier错误 "Implementations of KafkaClientSupplier should implement the getAdmin() method",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70382128/