2

创建期间配置所有主题的保留策略

尝试使用 spring 配置rentention.ms,因为我收到以下错误:

原因:java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.PolicyViolationException:指定的保留时间无效。允许的范围是 [3600000..2592000000] 从我读到的新值是-1(无穷大)所以超出了这个范围

遵循 如何在 spring-mvc 中创建期间配置 kafka 主题保留策略中的内容?,我添加了下面的代码,但似乎没有效果。关于如何解决这个问题的任何想法/提示?

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);
   }
4

1 回答 1

1


spring.kafka.streams.topic.retention.ms: 86400000
通过在 application.yml 中设置值找到解决方案。
我们的应用程序使用 spring mvc,因此使用 spring 表示法。
topic.retention.ms是需要在流配置中设置的
值 86400000 是一个随机值,因为它在范围内[3600000..2592000000]

于 2019-09-13T12:45:25.927 回答