@KafkaListener 方法不适用于 spring @Profile 注释
@KafkaListener method not work with spring @Profile annotation
我有 2 个 @KafkaListener 方法监听同一个 tipic TopicA,
但它们也被注释为不同的@Profile("dev") 和@Profile("prod"),
我设置了spring.profiles.active=dev,并且发送消息到TopicA,两种方法都可以消费消息。
这是@KafkaListener 和@Profile 的已知错误吗?还是我的配置有问题?
没错,因为 @KafkaListener
没有提供 bean。 @Profile
只能限制 beans - @Configuration
类 或扫描的 @Service
中的工厂方法:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-definition-profiles-java
所以,您需要的是将这些方法分配到不同的 类 并将 @Profile
移动到它们的 bean 定义级别。
我有 2 个 @KafkaListener 方法监听同一个 tipic TopicA,
但它们也被注释为不同的@Profile("dev") 和@Profile("prod"),
我设置了spring.profiles.active=dev,并且发送消息到TopicA,两种方法都可以消费消息。
这是@KafkaListener 和@Profile 的已知错误吗?还是我的配置有问题?
没错,因为 @KafkaListener
没有提供 bean。 @Profile
只能限制 beans - @Configuration
类 或扫描的 @Service
中的工厂方法:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-definition-profiles-java
所以,您需要的是将这些方法分配到不同的 类 并将 @Profile
移动到它们的 bean 定义级别。