@KafkaListener方法不适用于spring @Profile注释

时间:2017-05-31 10:55:31

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

我有2个@KafkaListener方法在同一个tipic TopicA 上监听,

但它们也注明了不同的@Profile(“dev”)和@Profile(“prod”),

我设置 spring.profiles.active = dev ,并向TopicA发送消息,两种方法都可以使用消息。

使用@Profile知道@KafkaListener的已知错误吗?或者我的配置有问题?

1 个答案:

答案 0 :(得分:1)

这是正确的,因为@KafkaListener没有呈现bean。 @Profile只能限制bean - @Configuration类中的工厂方法或扫描@Service s:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-definition-profiles-java

因此,您需要的是将这些方法分发到不同的类并将@Profile移动到它们的bean定义级别。