问题描述

在使用spring cloud 2.4版本之后的版本时发现nacos配置中心的配置读取不到。

问题研究

经过网上半天多的查询以及试验发现 从Spring Boot 2.4版本开始,配置文件加载方式进行了重构。

spring cloud2.4之前的版本

spring cloud2.4之后的版本

 对比之下,能看出问题,在spring cloud2.4之后将bootstrap.enabled设置为false

 解决方式一:

添加bootstrap的POM依赖:

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bootstrap</artifactId>
      <version>3.1.0</version>
</dependency>

解决方式二:

添加环境变量

 结果

经过以上步骤操作之后可以读取到nacos config配置的配置,但是修改配置中心值之后从工程日志可以看出已经Environment  refresh,但问题是 :再次通过@Value读取依旧是旧值。(@RefreshScope注解已经有配置)

解决方式

在bootstrap.properties中配置spring.application.name=工程名

(此配置已在application.properties中配置)

此配置增加之后可以正常读取配置中心的配置,也可以refresh修改后的值并且取到最新值。

问题得以处理。(不知道此问题原因,请高手赐教)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐