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实例,消费方跟 ...
随机推荐
- SQL-INSERT触发器练习
&练习一 有这样的一个基础表A,字段包括:id.type.value.create_time,主要是记录某个类型的状态变化时间和值.在插入类型(type)为'runtime' 的数据时,根据前 ...
- redis存取数据String
一.连接不同数据库和存取String类型值 1.连接数据库 2.set和get多个 3.取值并赋值 取值返回的是赋值改变之前的值: 4.递增和递减 5.字符串尾部加值 6.商品编号自增应用
- AI异构通信:重压下的突围,华为P50系列的卓越体验
撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 "华为不会让消费者失望."华为消费者业务CEO余承东在P50系列发布会上如是说. 今年4月美国对华为第四轮制裁以来,华为终端产品无缘5 ...
- Fastjson 1.2.22-24 反序列化漏洞分析(1)
Fastjson 1.2.22-24 反序列化漏洞分析(1) 前言 FastJson是alibaba的一款开源JSON解析库,可用于将Java对象转换为其JSON表示形式,也可以用于将JSON字符串转 ...
- jdbc核心技术-宋红康
视频地址 JDBC核心技术 第1章:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将 ...
- 深入xLua实现原理之Lua如何调用C#
xLua是腾讯的一个开源项目,为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力.本文主要是探讨xLua下Lua调用C#的实现原理. Lua与C#数据通信机制 无论是Lua调用C# ...
- 密码学系列之:Argon2加密算法详解
目录 简介 密钥推导函数key derivation function Password Hashing Competition Argon2算法 Argon2的输入参数 处理流程 简介 Argon2 ...
- 新环境c7、php7.4、openssl1.1.1g,再discuz里发送邮件总是报ssl连接不上
Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL r ...
- express 路由匹配和数据获取
express配置路由只需要通过app.method(url,func)来配置,其中url配置和其中的参数获取方法不同 直接写全路径 路由中允许存在. get请求传入的参数 router.get(&q ...
- Linux系列(38) - 源码包安装(2)
安装前准备 安装C语言编译器"gcc" yum -y install gcc --c 源码包语言编译器 下载源码包 安装注意事项 源代码保存位置:/usr/local/src/ 软 ...