我尝试更新Spring Kafka版本,但出现异常
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
答案 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自动装配。