[英]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.