简介
事情是这样的,为一个项目配置了注册中心nacos,一开始配置的是本机的nacos服务,后面将nacos地址改为虚拟机后,项目虽然启动成功,但是报nacos异常,如下:
一共有两个配置文件:
分别配置了:
可以看到根本没有关于localhost:8848的配置,但是还是 报了localhost:8848的异常,打开虚拟机的nacos可视化界面,发现服务已经注册到虚拟机的nacos中了
出现问题的版本为:
<!-- 注册中心-nacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.6.RELEASE</version> </dependency> <!-- 配置中心-nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.6.RELEASE</version> </dependency>
解决
这是nacos读取本身自动配置的优先级高于application文件中的配置时引起的,而nacos本身的自动配置是127.0.0.1:8848端口的nacos服务,所以发生了以上异常,故而需要将配置文件的优先级提升
创建一个bootstrap.properties或bootstrap.yml文件配置nacos地址就可以了。这个配置是系统级的,优先级最高,先从这个文件读取nacos地址就不会报错了
spring.cloud.nacos.server-addr=192.168.190.128:8848
相关文章
暂无评论...