【发布时间】:2021-08-11 23:20:21
【问题描述】:
我有一个Spring boot 应用程序,它使用来自Kafka 主题的数据,并使用从Kafka 收到的数据发送电子邮件通知,
@Bean
public EmailService emailService() {
return new EmailServiceImpl(getJavaMailSender());
}
完美运行,
但是在我添加@ConditionalOnBean之后:
@Bean
@ConditionalOnBean(KafkaTemplate.class)
public EmailService emailService() {
return new EmailServiceImpl(getJavaMailSender());
}
应用程序启动失败:
需要一个 'com.acme.EmailService' 类型的 bean,它不能 找到了。
我找不到任何解释,这是怎么可能的,因为Spring在KafkaAutoConfiguration类中自动创建了KafkaTemplate bean。
你能给我解释一下吗?
【问题讨论】:
标签: java spring spring-boot apache-kafka spring-annotations