vector4wang / spring-boot-quick

:herb: 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、k3s、k3d、k8s、mybatis加解密插件、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等:pushpin:
http://blog.wangxc.club
2.47k stars 908 forks source link

spring-boot-kafka启动报错,无法自动创建Topic #15

Closed petenover closed 5 years ago

petenover commented 5 years ago

根据你所述,当项目起来时SpringBoot会自动创建topic1,topic2,topic3三个Topic(例子中),实际上我的Copy下来的项目启动直接报错: Caused by: java.lang.IllegalStateException: Topic(s) [topic2, topic3] is/are not present and missingTopicsFatal is true at org.springframework.kafka.listener.AbstractMessageListenerContainer.checkTopics(AbstractMessageListenerContainer.java:351) ~[spring-kafka-2.3.0.RC1.jar:2.3.0.RC1] at org.springframework.kafka.listener.ConcurrentMessageListenerContainer.doStart(ConcurrentMessageListenerContainer.java:136) ~[spring-kafka-2.3.0.RC1.jar:2.3.0.RC1] at org.springframework.kafka.listener.AbstractMessageListenerContainer.start(AbstractMessageListenerContainer.java:308) ~[spring-kafka-2.3.0.RC1.jar:2.3.0.RC1] at org.springframework.kafka.config.KafkaListenerEndpointRegistry.startIfNecessary(KafkaListenerEndpointRegistry.java:309) ~[spring-kafka-2.3.0.RC1.jar:2.3.0.RC1] at org.springframework.kafka.config.KafkaListenerEndpointRegistry.start(KafkaListenerEndpointRegistry.java:256) ~[spring-kafka-2.3.0.RC1.jar:2.3.0.RC1] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.0.BUILD-SNAPSHOT.jar:5.2.0.BUILD-SNAPSHOT] ... 14 common frames omitted 我手动创建了topic1事实证明才是可行的;SpringBoot会在何时创建.yml中定义的topic array?i lost something configurations?

vector4wang commented 5 years ago

晚点我看一下

vector4wang commented 5 years ago

我刚试了一下,是一次性成功的!

麻烦你把你创建kafka实例的脚本,和大致的过程说一下

petenover commented 5 years ago

docker pull... docker run ... 按照例子上面pull三个镜像一步一步来的.

vector4wang commented 5 years ago

ip 有没有换

petenover commented 5 years ago

spring.kafka.bootstrap-servers=本地IP:9092 docker run ... -e KAFKA_ADVERTISED_HOST_NAME=本地IP

vector4wang commented 5 years ago

(1)用清晰的语言描述你遇到的问题 (2)提供软件环境,包括操作系统、数据库等相关软件及其版本号 (3)问题是否可以重现,采用什么方式重现 (4)采用了什么措施解决问题,最终结果(可提供日志、程序、截图等描述) (5)尽可能提供问题相关的可分析文件,包括日志、截图和Core dump等 (6)不要长篇大论,简明扼要,描述主要问题

petenover commented 5 years ago

已经解决了,我使用的最新版本2.3,Apacher Kafka 2.2以后container新添加了属性:missingTopicsFatal,这个属性listen broker,if there's not anyone on a topic,it will prevent the container from starting;设置missingTopicsFatal = false