启动异常:NoSuchMethodException:org.springframework.kafka.core.KafkaTemplate。<init>()

时间:2019-12-09 20:44:21

标签: apache-kafka spring-kafka

我尝试更新Spring Kafka版本,但出现异常

  • Spring Kafka版本2.3.4.RELEASE
  • Spring Boot版本2.2.2.RELEASE
  • Kafka客户端2.3.1版
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.kafka.core.KafkaTemplate]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.kafka.core.KafkaTemplate.<init>()
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:83)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1312)
    ... 101 more
Caused by: java.lang.NoSuchMethodException: org.springframework.kafka.core.KafkaTemplate.<init>()
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.getDeclaredConstructor(Class.java:2178)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
    ... 102 more

2 个答案:

答案 0 :(得分:0)

您需要向您显示代码和配置以及完整的堆栈跟踪(您绝对不要在此处编辑/截断堆栈跟踪)。错误似乎很明显:

  

原因:java.lang.NoSuchMethodException:org.springframework.kafka.core.KafkaTemplate。()

没有no-arg构造函数-它需要一个生产工厂。我们需要查看代码和配置,以找出谁在尝试创建没有PF的模板。

通常,Spring Boot会自动为您配置KafkaTemplate

答案 1 :(得分:0)

谢谢!问题在测试中-我错误地确定了KafkaTemplate的通用类型。我用了 KafkaTemplate <String, Bytes>而非我在应用程序代码中使用的KafkaTemplate<String, Message>。因此,我想测试弹簧上下文无法定义适当的bean自动装配。