啟動springboot服務器時如何繞過kafka代理失?。?/h1>
2 回答

TA貢獻1818條經驗 獲得超8個贊
有一個容器屬性missingTopicsFatal
: https://docs.spring.io/spring-kafka/api/org/springframework/kafka/listener/ContainerProperties.html#isMissingTopicsFatal - 即使主題和/或經紀人不可用。
@Bean(name = "kafkaListenerContainerFactory")
public ConcurrentKafkaListenerContainerFactory<?, ?> kafkaListenerContainerFactory(
ConsumerFactory<Object, Object> kafkaConsumerFactor,
ConcurrentKafkaListenerContainerFactoryConfigurer configurer) {
ConcurrentKafkaListenerContainerFactory<Object, Object> factory =
new ConcurrentKafkaListenerContainerFactory<>();
configurer.configure(factory, kafkaConsumerFactor);
ContainerProperties containerProperties = factory.getContainerProperties();
containerProperties.setMissingTopicsFatal(false);
...
return factory;
}

TA貢獻1848條經驗 獲得超6個贊
這是新版本的spring的變化。
@Component
class ContainerFactoryConfigurer {
ContainerFactoryConfigurer(ConcurrentKafkaListenerContainerFactory<?, ?> factory) {
factory.getContainerProperties().setMissingTopicsFatal(false);
}
}
添加回答
舉報