springboot 项目依赖 spring-kafka启动项目有消费者的情况下,kafka中没有创建指定topic的前提条件下。

项目启动必报包含以下关键字的错误:

not present and missingTopicsFatal is true

网上的答案大部分是说加入以下配置即生效的:

spring.kafka.listener.missing-topics-fatal=false

但是往往还是无效的,具体得从springboot版本说起

具体解决方案有以下3种:

1、降级springboot版本到2.0.1.RELEASE
对应的为spring-kafka版本为2.1.5.RELEASE(ContainerProperties.missingTopicsFatal 未加入 没有启动检查)

2、springboot项目启动时自动配置对应的topic主题(有不创建,没有则自动创建)

   @Bean
    public NewTopic messageCenter() {
        return new NewTopic("topic_name", 1, (short) 1);
    }

3、升级到springboot 2.2.1.RELEASE

对应的的spring-kafka版本为2.3.3.RELEASE
ContainerProperties.missingTopicsFatal 默认为true 可以通过springboot的自动化配置方式修默认值


spring.kafka.listener.missing-topics-fatal=false

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐