Spring Cloud Alibaba Nacos Config 的使用
一、需求
主要实现 nacos
作为配置中心的一些使用方法。
二、实现功能
1、加载 product-provider-dev.yaml 配置文件
2、实现配置的自动刷新
3、实现加载多个配置文件
4、配置文件的优先级
三、注意事项
1、和 nacos config
配置相关的代码都需要定义在 bootstrap.yml
配置文件中
spring.application.name spring.profiles.active spring.cloud.nacos.config.xxx
2、测试的过程中,发现如果定时任务的类
上增加类 @RefreshScope
注解,那么 nacos 中的配置属性动态修改后,这个定时任务会失效。(参考代码:com.huan.study.product.RefreshScopeScheduledTask
)
3、如果在一个线程中,隔固定周期打印@Value
注解中的值,在nacos
修改值后,不会改变(参考代码 com.huan.study.product.PrintPropertiesTask#initPrint
)
4、最好不要出现配置文件中存在优先级。
四、功能实现
1、加载 单个 配置文件
1、data id 的定义:
${prefix}-${spring.profile.active}.${file-extension}
prefix
:默认情况下为 spring.application.name
的值,也可以通过配置项 spring.cloud.nacos.config.prefix
来配置
spring.profile.active
:这个值 需要在 bootstrap.yml
配置文件中定义,或通过命令行参数传递,可以为空,此时配置退化为 ${prefix}.${file-extension}
file-extension
:指定配置文件的后缀,默认为properties
,可以指定为yaml
2、和 nacos 相关的配置放置的位置
需要放在 bootstrap.yml
配置文件中。
2、实现配置的自动刷新
1、基于 ConfigurationProperties
配置的属性,可以自动刷新配置。
2、基于 @Value
注解配置的属性,需要在类上增加 @RefreshScope
注解
3、基于 @ConditionalOnProperty
这类注解,配置的属性如果放在 nacos
中配置,第一次程序启动的时候生效,后期在nacos
中修改不生效
注意:
测试的过程中,发现
1、如果定时任务的类
上增加类 @RefreshScope
注解,那么 nacos 中的配置属性动态修改后,这个定时任务会失效。
2、如果在一个线程中,隔固定周期打印@Value
注解中的值,在nacos
修改值后,不会改变
3、实现加载多个配置文件
可以实现同一个项目中存在多个配置文件,或多个项目共享同一个配置文件
4、配置文件的优先级
spring.cloud.nacos.config.extension-configs[n].data-id
中的 n
的值越大,优先级越高。
五、代码路径
https://gitee.com/huan1993/spring-cloud-alibaba-parent/tree/master/nacos-config
六、参考链接
https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
配置属性无法刷新

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mysql高级-sql分析及优化(二)
三、优化SQL步骤 1、查看SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连接)的计结果和global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“session”。 下面的命令显示了当前 session 中所有统计参数的值: show status like 'Com_______'; /** Com_xxx 表示每个 xxx 语句执行的次数,我们通常比较关心的是以下几个统计参数。 Com_select 执行 select 操作的次数,一次查询只累加 1。 Com_insert 执行 INSERT 操作的次数,对于批量插入的 INSERT 操作,只累加一次。 Com_update 执行 UPDATE 操作的次数。 Com_delete 执行 DELETE 操作的次数。 Com_*** : 这些参数对于所有存储引...
- 下一篇
Windows Terminal 安装与配置
1 安装 安装可以从应用商店安装(直接搜索即可)或者Github安装(可以戳这里): 下载msixbundle格式的文件即可直接打开安装。 2 配置前准备 2.1 下载字体 推荐使用FiraCode,下载链接戳这里。 解压后选择其中一个ttf安装即可: 2.2 安装PowerShell Core 这里的PowerShell Core与自带的PowerShell不是同一个东西,前者是能跨平台的,下载链接戳这里。 Windows下可以直接选择msi格式下载: 安装好后可以对比一下新的PowerShell Core默认是黑底的,而且标题也不一样: 3 配置 3.1 模块 # PSReadline Install-Module -Name PSReadLine -AllowPrerelease -Force # posh-git Install-Module posh-git -Scope CurrentUser # oh-my-posh Install-Module oh-my-posh -Scope CurrentUser 安装过程中可能会卡住,稍等即可。 另外有可能会提示不信任的仓库,选...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路