【问题标题】:Configure kafka topic retention policy during creation in spring-mvc?在spring-mvc中创建时配置kafka主题保留策略?
【发布时间】:2020-01-14 11:14:31
【问题描述】:

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

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

原因:java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.PolicyViolationException:指定的保留时间无效。允许的范围是 [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);
   }

【问题讨论】:

  • 如果范围是[3600000..2592000000],则您设置的值(1680000)仍然超出范围
  • 谢谢回复,我更新了3600000,还是一样的错误

标签: spring-mvc apache-kafka ibm-eventstreams


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-10-25
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2019-08-08
    • 2017-07-07
    • 1970-01-01
    相关资源
    最近更新 更多