Spring 运行时的 Cloud Stream Kafka 复制因子和保留问题

Spring Cloud Stream Kafka Replication Factor and Retention Problem at Runtime

我有一个使用 Kafka 的 spring 引导项目。我使用 Spring Cloud Stream Kafka 自动配置对其进行了配置。我想自动创建具有 3 个副本和 1 天保留期的主题。为此,我将复制因子和 retention.ms 添加到我的 application.yml 中,如下所示:

spring:
  cloud:
    stream:
      kafka:
        binder:
          replicationFactor: 3
        default:
          consumer:
            topic:
              properties:
                retention.ms: 86400000
          producer:
            topic:
              properties:
                retention.ms: 86400000

实际上这些对我来说很好,主题创建为 3 个副本,保留 1 天,但是当我在应用程序 运行 中删除主题时,该主题会自动创建,没有副本和保留。有人知道这是什么原因吗?我应该怎么做才能在运行时创建具有 3 个副本和 1 天保留的主题?

将经纪人的 auto.create.topics.enable 属性 设置为 false

https://kafka.apache.org/documentation/#brokerconfigs_auto.create.topics.enable