Springboot微服务读取服务配置application失败
问题现象:今天在本机启动springboot项目并访问kafka服务的时候发现如下报错:2022-01-12 10:53:34.843 WARN 69212 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient: [Producer clientId=producer-1] Connection to node -1 (/127.
目录
问题现象:
今天在本机启动springboot项目并访问kafka服务的时候发现如下报错:
2022-01-12 10:53:34.843 WARN 69212 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
2022-01-12 10:53:34.844 WARN 69212 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Bootstrap broker 127.0.0.1:9092 (id: -1 rack: null) disconnected
问题分析:
根据报错信息可知,这是因为服务读取到的kafka服务ip地址是 127.0.0.1:9092;然而我的配置文件明明是这样的:
一直找不到是什么原因,因为整个项目中都找不到127.0.0.1:9092的关键字!!!
直到后来突然想起来这个springboot项目加入了微服务框架,因此启动后会注册到Naocs注册中心去成为一个微服务的;于是我去看了一下Nacos的配置中心,终于发现了原因:
显然,项目注册到Nacos之后,用到了这个xxx-dev.yaml配置文件!当项目的applicaition配置文件和nacos配置文件具有相同的配置属性时,优先使用nacos配置文件的,也就是说nacos配置文件会覆盖项目的applicaition配置文件中,相同的配置属性。
解决方法:
1、把nacos配置文件中的kafka配置去掉后,点击发布,如:
2、把nacos配置文件中的kafka配置ip修改为和项目的application配置文件一致后,点击发布,如:
重启项目再次访问kafka成功:
更多推荐
所有评论(0)