Spring Cloud Alibaba Nacos Config 的使用
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
配置属性无法刷新
Spring Cloud Alibaba Nacos Config 的使用的更多相关文章
- Spring Cloud Alibaba Nacos Config 实战
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...
- Spring Cloud Alibaba Nacos
1. Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 为分布式应用程序开发提供了一站式解决方案.它包含了开发分布式应用程序所需的所有组件,使得你可以轻松地使用 ...
- Spring Cloud Alibaba | Nacos配置管理
目录 Spring Cloud Alibaba | Nacos配置管理 1. pom.xml 项目依赖 2. 在 bootstrap.properties 中配置 Nacos server 的地址和应 ...
- Spring Cloud Alibaba | Nacos集群部署
目录 Spring Cloud Alibaba | Nacos集群部署 1. Nacos支持三种部署模式 2. 集群模式下部署Nacos 2.1 架构图 2.2 下载源码或者安装包 2.3 配置集群配 ...
- 0.9.0.RELEASE版本的spring cloud alibaba nacos实例
简而言之,nacos与eureka的不同之处有三:后台老板.部署方式.功能.nacos是阿里的,eureka是奈飞的:nacos有自己的安装包,需要独立部署,eureka仅作为一个服务组件,引入jar ...
- Spring Cloud Alibaba+Nacos搭建微服务架构
1. Spring Cloud Alibaba 简介 Spring Cloud Alibaba是阿里巴巴为分布式应用提供的一站式解决方案,能够更方便快捷地搭建分布式平台,nacos拥有着替换eu ...
- Spring Cloud Alibaba | Nacos服务中心初探
目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...
- Spring Cloud Alibaba | Nacos服务注册与发现
目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...
- 0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例
这里的feign依然是原来的feign,只不过将注册中心由eureka换成了nacos.服务提供方参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例,消费方跟 ...
随机推荐
- 即时通讯网-TCPIP族关系图
- Servlet体系结构
一.使用HttpServlet 其中,HttpServlet在重写的service()方法中对http请求的共7中提交方式进行了判断,所以只要我们只要重写对应的请求方式处理逻辑方法 doGet()和d ...
- Datagird样式
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=&qu ...
- Xamarin UIProgressView自定义
Progress.ProgressImage = UIImage.FromFile ("progress.png"); Progress.TrackImage = UIImage. ...
- 驱动IO模型-select
新人学习,欢迎指正 部分select.c代码 应用层 select(maxfd+1,&rfds,NULL,NULL,NULL); -------------------(系统调用)------ ...
- Collections集合工具类和可变参数
Collections常用的API: public static <T> boolean addAll(Collection<? super T> c, T... elemen ...
- C语言使用getch()读取方向键
初衷: 在解决N皇后问题时需要使用方向键实现布局切换,于是就在网上查找资料,感觉自己收获不小,就把自己总结的一些知识点给记录下来. 总结: 1.getch()读取字符需要一次. 2.getch()读取 ...
- Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网关Ocelot+Consul
相关文章 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网 ...
- 重启ubuntu系统VMware tools失效处理方法
1) sudo apt-get autoremove open-vm-tools 2) Install VMware Tools by following the usual method (Virt ...
- 鸿蒙内核源码分析(重定位篇) | 与国际接轨的对外部发言人 | 百篇博客分析OpenHarmony源码 | v55.01
百篇博客系列篇.本篇为: v55.xx 鸿蒙内核源码分析(重定位篇) | 与国际接轨的对外部发言人 | 51.c.h.o 加载运行相关篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应用程 ...