网站首页 > 博客文章 正文
前言
项目采用的是 spring-cloud-alibaba:2.2.2.RELEASE 版本,使用 Nacos 做配置中心。按照官方说明文档搭建成功启动项目加载配置成功,然后就飘了!感觉好简单这么容易就搭建起来了,就开始写其他代码。
部署到测试环境后同事反馈说在配置中心修改了配置后没有加载出来新的配置......
排查
1、检查 bootstrap.properties 配置文件
配置文件中已经配置了 refresh-enabled:true :
spring:
cloud:
nacos:
config:
refresh-enabled: true
2、检查 config 配置类
config 配置类中采用的是 @value 注解,如果要使 Nacos 动态刷新配置剩下需要在配置类上增加 @RefreshScope 配置项。
问题解决!!!
思考
这是一个细节问题,平时多注意一下就会避免。
如果每个用到 @value 类上面都要加 @RefreshScope,那就太复杂了,如果把 @RefreshScope 加到启动类上可以支持全局的 @value 主机动态刷新吗?
尝试......
失败!
其他替代方案
其实可以采用 @ConfigurationProperties 可以替换 @value,并且支持的功能更加强大,具体对比如下:
增加依赖
在pom.xml 文件中增加以下配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
YML 配置
user:
name: Jack
age: 22
代码示例
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "user")
public class UserConfig {
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private String age;
}
总结
- 仅在 bootstrap.properties 文件中增加 refresh-enabled:true 配置是不能自动刷新。
- 如果使用 @Value 注解,那么需要在每个类上都添加上 @RefreshScope 配置。
- 推荐使用 @ConfigurationProperties 替换 @value。
猜你喜欢
- 2024-10-01 微服务学习笔记(微服务怎么学)
- 2024-10-01 干货:SpringBoot集成Nacos,填坑篇
- 2024-10-01 记一次把Nacos做成服务并开机启动
- 2024-10-01 Nacos 配置中心与注册中心(nacos配置中心连接超时)
- 2024-10-01 小白入门必知必会-Nacos单机安装(nacos入门教程)
- 2024-10-01 windows系统 安装nacos服务注册与发现中心
- 2024-10-01 网络环境问题导致的nacos集群故障
- 2024-10-01 分布式服务限流降级熔断解决方案Nacos之Dashboard界面配置含义
- 2024-10-01 Nacos你真的理解了吗(nacos百科)
- 2024-10-01 java微服务环境配置——注册中心 配置中心Nacos
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 358℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)