首页 > 解决方案 > 如何使用 Spring Kafka 保证 Kafka 主题配置

问题描述

我有一个配置bean

    @Bean("alertsTopic")
    public NewTopic alertsTopic() {

        return TopicBuilder.name(PORTAL_ALERTS)
            .config(TopicConfig.DELETE_RETENTION_MS_CONFIG, String.valueOf(Duration.ofHours(1).getSeconds() * 1000))
            .compact()
            .build();
    }

但是,当我检查

./kafka-configs.sh  --bootstrap-server kafka:9092 --describe --topic portal.alerts --all

看来我的设置都没有设置。

我假设我在进行配置之前可能无意中创建了该主题。我的问题是如何让我的应用程序检测到NewTopic与存在的配置匹配的值,否则终止应用程序上下文。

或者强制更新。

标签: javaapache-kafkaspring-kafka

解决方案


如果主题已经存在,唯一的修改KafkaAdmin是增加分区的数量。

对于其他更改,您必须使用AdminClient自己。


推荐阅读