【发布时间】:2020-07-28 04:42:52
【问题描述】:
我有一个 Spring Boot 项目,它具有使用 kafka 进行日志记录的依赖项。 我无法摆脱上述依赖,因为我的逻辑需要来自该依赖的代码
我想在不运行 kafka 的情况下在本地启动所述应用程序,以便测试我的简单数据库查找代码。
我试过禁用自动配置
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
我尝试通过 bean 配置将 missingTopicsFatal 设置为 false
@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;
}
但显然设置已经是错误的,因为我的应用程序运行没有失败,只是 tomcat 不想打开监听端口
我遇到的所有其他解决方案都涉及更改使用 kafka 的代码;在这种情况下,我正在使用的依赖项。但我无法更改所述依赖项。
应用程序启动但spring拒绝打开监听端口并不断循环错误
Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
应用程序在本地运行 kafka 时运行良好,但由于 kafka 的资源使用,现在仅仅键入的行为很慢。请帮忙。
【问题讨论】:
标签: java spring spring-boot apache-kafka