kafka 流在升级到 spring-kafka:2.5.3.RELEASE 后停止工作

kafka streams stop working after upgrade to spring-kafka:2.5.3.RELEASE

我正在尝试将我的 Spring-boot 应用程序升级到版本 2.5.0

升级后:

plugins {
    id 'org.springframework.boot' version '2.5.0'
}

我收到一条错误消息

Failed to introspect Class [org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration$KafkaStreamsMetricsConfiguration]

检查这个class我发现它确实坏了,因为下面代码中的“addListener”无法解析

static class KafkaStreamsMetricsConfiguration {

    @Bean
    StreamsBuilderFactoryBeanCustomizer kafkaStreamsMetrics(MeterRegistry meterRegistry) {
        return (factoryBean) -> factoryBean.addListener(new KafkaStreamsMicrometerListener(meterRegistry));
    }

}  

以上代码来自spring-boot-actuator-autoconfigure:2.5.0 jar.

如果将我的 spring-kafka 依赖更新到 2.5 以上的任何版本,这个问题就解决了。2.RELEASE

例如:

implementation 'org.springframework.kafka:spring-kafka:2.5.3.RELEASE'

“addListener”现在取自 spring-kafka-2.5.3.release.jar

下的 StreamsBuilderFactoryBean

真正的问题 是由于某种原因,此更改使 Kafka 流 bean 不 运行,并且没有进行任何消费。它似乎以某种方式破坏了 Spring kafka-streams 的激活。没有任何类型的错误或没有出​​现问题的迹象。感觉很残疾。

一些附加信息:

我正在使用

implementation 'org.apache.kafka:kafka-streams:2.5.0'
implementation 'org.apache.kafka:kafka-clients:2.5.0'

更改版本似乎没有任何效果。

假设没有其他改变(应用程序 classes 和 Kafka 配置)- 可能是什么原因?

您不应该指定版本;让 Boot 的依赖管理来管理版本。目前的Boot 2.5版本是2.5.7;它需要 spring-kafka 2.7.9 - 请参阅依赖矩阵的项目页面。

https://spring.io/projects/spring-kafka