[NACOS ConnectException httpPost] currentServerAddr: http://localhost:8848, err : Connection refused...
nacos配置正常,但是依然报错!!!
问题描述
2023-07-24 18:19:07.849 ERROR 8716 --- [-localhost_8848] c.a.n.c.config.http.ServerHttpAgent : [NACOS ConnectException httpPost] currentServerAddr: http://localhost:8848, err : Connection refused: connect
2023-07-24 18:19:09.902 ERROR 8716 --- [-localhost_8848] c.a.n.c.config.http.ServerHttpAgent : [NACOS ConnectException httpPost] currentServerAddr: http://localhost:8848, err : Connection refused: connect
2023-07-24 18:19:11.962 ERROR 8716 --- [-localhost_8848] c.a.n.c.config.http.ServerHttpAgent : [NACOS ConnectException httpPost] currentServerAddr: http://localhost:8848, err : Connection refused: connect
2023-07-24 18:19:13.997 ERROR 8716 --- [-localhost_8848] c.a.n.c.config.http.ServerHttpAgent : [NACOS ConnectException httpPost] currentServerAddr: http://localhost:8848, err : Connection refused: connect
2023-07-24 18:19:13.997 ERROR 8716 --- [-localhost_8848] c.a.n.client.config.impl.ClientWorker : [fixed-localhost_8848] [check-update] get changed dataId exception
原因分析:
在Spring Boot应用程序中,有两个主要的配置文件:
application.properties
和bootstrap.properties
。这两个文件都用于配置应用程序的属性,但是它们有不同的加载顺序和作用范围。
解决方案:
将Nacos的
spring.cloud.nacos.config.server-addr
配置放在bootstrap.properties
中可以解决报错localhost的问题,原因如下: 在Spring Boot应用程序中,有两个主要的配置文件:application.properties
和bootstrap.properties
。这两个文件都用于配置应用程序的属性,但是它们有不同的加载顺序和作用范围。application.properties
是应用程序的主要配置文件,用于配置应用程序的核心属性。它在应用程序启动时加载,并且可以包含与应用程序相关的各种配置。bootstrap.properties
是在application.properties
加载之前加载的配置文件。它主要用于配置应用程序的外部化配置,例如连接到Nacos等配置中心。通过将Nacos的spring.cloud.nacos.config.server-addr
配置放在bootstrap.properties
中,可以确保在应用程序启动时,该配置会优先加载并生效。 报错localhost的问题可能是由于在application.properties
中配置了spring.cloud.nacos.config.server-addr
,但是在应用程序启动时,该配置还没有生效,导致连接Nacos时使用了默认的localhost地址。 通过将spring.cloud.nacos.config.server-addr
配置放在bootstrap.properties
中,可以确保该配置在应用程序启动时就生效,从而解决了报错localhost的问题。