簡體   English   中英

使用 appication.yml/properties 配置具有不同屬性的 Spring Boot Kafka 多個消費者

[英]Spring Boot Kafka Multiple Consumers with different properties configuration using appication.yml/properties

我見過一些例子,我們有一個 java 配置類,我們定義了多個KafkaListenerContainer並將所需的containerType傳遞給@kafkaListener 但我正在探索是否有任何方法可以通過 appication.yml/properties 使用 Spring Boot 自動 Kafka 配置來實現相同的目標。

不; Boot 只會自動配置一組基礎設施; 如果需要多個,則需要將它們定義為 bean。

但是,對於最近的版本(自 2.3.4 起),您可以向工廠添加偵聽器容器定制器,以便您可以自定義每個偵聽器容器,即使它們是由同一個工廠創建的; 某些屬性也可以在@KafkaListener注釋本身上被覆蓋。

例子:

@Component
class Customizer {

    public Customizer(ConcurrentKafkaListenerContainerFactory<?, ?> factory) {
        factory.setContainerCustomizer(container -> {
            if (container.getContainerProperties().getGroupId().equals("slowGroup")) {
                container.getContainerProperties().setIdleBetweenPolls(60_000);
            }
        });
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM