在spring-mvc中创建过程中配置kafka主题保留策略?

时间:2019-09-12 14:34:16

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

配置在创建过程中所有主题的保留策略

尝试使用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);
   }

1 个答案:

答案 0 :(得分:1)

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

范围内