我在windows平台上工作,在这个工具中,我将经常从spring boot应用程序向kafka生成消息(函数将连续生成消息)。我将使用node.js应用程序中的消息。因此,应用程序在一天内创建了许多主题,kafka日志在一周内占据了全部磁盘空间。所以我试着
日志保留时间
删除段时出错
java.nio.file.FileSystemException:进程无法访问该文件,因为另一个进程正在使用该文件
.
1) 我需要在我的应用程序中配置任何东西,还是需要从我的spring boot应用程序向kafka服务器发送确认消息,确认我已经完成了对主题的消息生成,以便kafka将其删除。
下面是我在spring boot应用程序中使用的配置,我将生成主题的消息。
@Configuration
public class KafkaProducerConfig {
@Bean
public ProducerFactory producerFactory() {
Map configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
return new DefaultKafkaProducerFactory<>(configProps);
}
@Bean
public KafkaTemplate kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
}