首页 > 其他分享 >nacos配置自动刷新(不重启应用)

nacos配置自动刷新(不重启应用)

时间:2023-05-08 13:23:01浏览次数:55  
标签:重启 配置 nacos bean 应用 刷新

(一)背景

我们平常的开发中经常会遇到需要修改配置的情况,但是又不希望重启应用。以nacos为例子,哪些情况修改完配置不重启应用就可以自动生效呢?下面开始做个简单的测试

(二)测试

@value注解

 

@Value("${testa.name}")
private String name;

 

经测试,每次在nacos修改完不重启应用是不会自动进行刷新的

此时,我们给对应的所在的bean加上 @RefreshScope 注解,此时不重启应用也能自动更新

这里的原理是:

其实nacos上配置变更有通知到应用,通过观察日志就可以观察出来,但是由于bean已经创建好,配置变更后不会重新创建所以对应的配置值没有变更。

@RefreshScope注解加上之后,这个bean会放进refresh scope这个bean缓存中,当配置中心发生变更后,会把变更的配置更新到spring容器的Environment中,bean缓存就会被清空,从而创建新的bean实例,所以此时@value能从Environment中获取最新的值,达到动态刷新的效果

@ConfigurationProperties

经测试,每次在nacos修改完不重启应用都会自动进行刷新

 

标签:重启,配置,nacos,bean,应用,刷新
From: https://www.cnblogs.com/xtuxiongda/p/17380901.html

相关文章

  • 使用宝塔面板检测URL状态码是否返回500,并在出现问题时自动重启Nginx脚本
    脚本只支持检测一条url状态码,将url中的网址更改为你需要检测的网址。#!/bin/bashurl="https://www.cnblogs.com/shenjingwa/"status_code=$(curl-o/dev/null-s-w%{http_code}$url)if[$status_code-eq500];then/etc/init.d/nginxrestartfi并在宝塔面板......
  • Windows系统 命令行修改默认的TTL值 不用重启的方法
    TTL是TimeToLive的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4报头的一个8bit字段。IPv4包头中TTL是一个8bit字段,它位于IPv4包的第9个字节。如下图所示,每一行表示32bit(4字节),位从0开始编号,即0~31。TTL的作用是限制IP数据包在计算机网络中的存......
  • Nacos 的单机部署搭建
    Nacos是阿里巴巴的产品,主要用来做微服务的注册中心和配置中心,界面美观,功能强大,在国内非常受欢迎。本篇博客主要介绍如何搭建单机版的Nacos,为编写后续的博客做准备。后面也会介绍Nacos集群的搭建,搭建过程都很简单。官方建议使用2.x的版本,本篇博客将以当前最新的2.2.2版......
  • 遇到的问题:nacos配置管理,无法获取到nacos中的配置内容
    nacos中的配置: bootstrap.yml文件:    1spring:2application:3name:userservice4profiles:5active:dev#环境6cloud:7nacos:8server-addr:localhost:8848#nacos地址9config:10file-extensio......
  • Hbase Memstore刷新方式与Region的数目上限
    目录Region数目上限Region大小上限MemStore的刷新方式(触发条件)HLog(WAL)Size&MemstoreFlush频繁的MemstoreFlushesRegion数目上限RegionServer的region数目取决于memstore的内存使用,每个region拥有一组memstore(memstore的数量有hstore决定,hstore的数据由创建表时的指定的列族......
  • 【SpringBoot】【六】 刷新上下文
    1 前言上节我们看了上下文的创建和准备,那么我们这节就来看看刷新上下文。2 刷新上下文首先就是我们的run方法,执行刷新上下文  refreshContext(context)://###run方法refreshContext(context);//###SpringApplicationprivatevoidrefreshContext(ConfigurableApp......
  • dell笔记本电脑触摸屏黑屏后就失灵,手动重启触摸板
    笔记本电脑触摸屏黑屏后就失灵,通常把屏幕盖子合上,再打开又能使用别人都说可以通过快捷键可以开启和关闭,我的dell电脑为什么就没有。苦恼!没法子啦~手动重启吧 1.找到触摸设备id 2.重启触摸板pnputil/restart-device"HID\DELL0923&Col02\5&1ccbf562&0&0001" 3.也可......
  • IDEA编写的SpringBoot项目修改后自动编译刷新
    问题的描述:       IDEA编写传统web应用使用外置的Tomcat时候,IDEA设置了外置的Tomcat的编译刷新,前端代码修改后是可以自动编译,页面刷新就能看到效果的。而开发SpringBoot项目的时候,因为它使用的是内置的Tomcat,所以即使是在html页面上修改内容,也必......
  • 使用nacos配置,启动服务时一直报 Error starting ApplicationContext. To display the
    报错日志如下:ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.-2023-05-0509:46:02.328[TID:N/A]ERROR8236---[main]o.s.b.d.LoggingFailureAnalysisReporter:***********......
  • ubuntu18.04 安装docker、mysql、nacos
    一、安装docker1.更新软件源列表sudoapt-getupdate2.安装软件包依赖sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common3.在系统中添加Docker的官方密钥curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-ke......