【问题标题】:kafka streams stop working after upgrade to spring-kafka:2.5.3.RELEASE升级到 spring-kafka:2.5.3.RELEASE 后,kafka 流停止工作
【发布时间】:2022-01-06 11:20:00
【问题描述】:

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

升级后:

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

我收到一个错误提示

无法自省类 [org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration$KafkaStreamsMetricsConfiguration]

检查这个类我发现它确实坏了,因为下面代码中的“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 无法运行,并且没有进行任何消费。它似乎以某种方式打破了卡夫卡流的春季激活。没有任何类型的错误或没有迹象表明出现问题。感觉很残废。

一些附加信息:

我正在使用

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

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

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

【问题讨论】:

    标签: java spring-boot apache-kafka apache-kafka-streams spring-kafka


    【解决方案1】:

    您不应指定版本;让 Boot 的依赖管理来管理版本。当前Boot 2.5版本为2.5.7;它需要 spring-kafka 2.7.9 - 查看依赖矩阵的项目页面。

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

    【讨论】:

    • 你在哪里看到 spring-kafka 2.7.9?
    • 点击项目主页上的Learn标签查看当前版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 2020-09-09
    相关资源
    最近更新 更多