【发布时间】:2022-01-03 03:16:39
【问题描述】:
我尝试在 stackoverflow 上搜索此内容,但找不到合理的答案。我对使用@Kafkalistener 注释的方法的签名感到好奇,我们需要遵循什么约定吗?如果我们想通过方法注入传入一个 Spring 管理的 bean 怎么办?我试图通过方法注入将服务类传递给 kafka 侦听器 -
private fun defaultListener(payload: ByteArray, @Headers messageHeaders: MessageHeaders, ack: Acknowledgment, callbackService: CallbackService) {
// Do something
}
我得到以下异常 -
org.springframework.messaging.converter.MessageConversionException: Cannot handle message; nested exception is org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [com.test.kafka-demo.service.CallbackService]
如果我将依赖服务类设为 Autowired,则可以正常工作。
【问题讨论】:
-
你会通过类构造函数或字段来连接bean,而不是方法签名
标签: spring-boot kotlin apache-kafka spring-kafka