配置在创建过程中所有主题的保留策略
尝试使用spring配置rentention.ms,因为出现错误:
由以下原因引起:java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.PolicyViolationException:指定了无效的tention.ms。允许的范围是[3600000..2592000000] 根据我的阅读,新值是-1(无穷大),因此不在该范围内
关注其中的内容 How to configure kafka topic retention policy during creation in spring-mvc?,我添加了以下代码,但似乎没有效果。 关于如何解决此问题的任何想法/提示?
ApplicationConfigurationTest.java
@test
public void kafkaAdmin () {
KafkaAdmin admin = configuration.admin();
assertThat(admin, instanceOf(KafkaAdmin.class));
}
ApplicationConfiguration.java
@Bean
public KafkaAdmin admin() {
Map<String, Object> configs = new HashMap<>();
configs.put(TopicConfig.RETENTION_MS_CONFIG, "1680000");
return new KafkaAdmin(configs);
}
答案 0 :(得分:1)
通过设置值找到解决方案
spring.kafka.streams.topic.retention.ms: 86400000
在application.yml中。
我们的应用程序使用spring mvc,因此使用了弹簧符号。
topic.retention.ms 是需要在流配置中设置的值
86400000是一个随机值,因为它在[3600000..2592000000]