spring boot kafka使用appication.yml/properties配置具有不同属性的多个使用者

ybzsozfc  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(314)

我见过一些例子,其中我们有一个java配置类,并定义了多个 KafkaListenerContainer 通过规定的考试 containerType@kafkaListener . 但我正在探索是否有任何方法可以通过appication.yml/properties使用spring-boot-auto-kafka配置实现同样的功能。

fcwjkofz

fcwjkofz1#

不;引导只会自动配置一套基础设施;如果需要多个,则需要将它们定义为bean。
但是,对于最新版本(自2.3.4以来),您可以将侦听器容器自定义程序添加到工厂,以便您可以自定义每个侦听器容器,即使它们是由同一工厂创建的;也可以在上重写某些属性 @KafkaListener 注解本身。
例子:

  1. @Component
  2. class Customizer {
  3. public Customizer(ConcurrentKafkaListenerContainerFactory<?, ?> factory) {
  4. factory.setContainerCustomizer(container -> {
  5. if (container.getContainerProperties().getGroupId().equals("slowGroup")) {
  6. container.getContainerProperties().setIdleBetweenPolls(60_000);
  7. }
  8. });
  9. }
  10. }

相关问题