首页 > 其他分享 >Nacos-配置热更新【自动刷新】

Nacos-配置热更新【自动刷新】

时间:2023-06-20 21:55:54浏览次数:40  
标签:itcast org springframework Nacos 更新 user 刷新 import id

Nacos中的配置文件变更后,微服务无需重启就可以感知,通过下面两种配置实现:

方式一:在@Value注入的变量所在类上添加注解@RefreshScope

 

方式二:使用@ConfigurationProperties注解读取配置文件内容

package cn.itcast.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "pattern") //只要前缀名和变量名两者拼接与配置配置文件一致,就能完成属性的自动注入
public class PatternProperties {
    private String dateformat;
}
package cn.itcast.user.web;

import cn.itcast.user.config.PatternProperties;
import cn.itcast.user.pojo.User;
import cn.itcast.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

@Slf4j
@RestController
@RequestMapping("/user")
//@RefreshScope
public class UserController {

    @Autowired
    private UserService userService;

//    @Value("${pattern.dateformat}")
//    private String dateformate;
    @Autowired
    private PatternProperties patternProperties;

    @GetMapping("now")
    public String now(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));
    }

    /**
     * 路径: /user/110
     *
     * @param id 用户id
     * @return 用户
     */
    @GetMapping("/{id}")
    public User queryById(@PathVariable("id") Long id) {
        System.out.println(id);
        return userService.queryById(id);
    }
}

Nacos配置更改后,微服务可以实现热更新,方式:

  (1) 通过@Value注解注入,结合@RefreshScope来刷新

  (2)通过@ConfigurationProperties注入,自动刷新

注意事项: 不是所有的配置都适合放到配置中心,维护起来比较麻烦 建议将一些关键参数,需要运行时调整的参数放到nacos配置中心,一般都是自定义配置

标签:itcast,org,springframework,Nacos,更新,user,刷新,import,id
From: https://www.cnblogs.com/fxzm/p/17494927.html

相关文章

  • Nacos注册中心原理以及Eureka和Nacos的区别与联系
    nacos注册中心:服务提供者在注册中心注册服务信息服务消费者从注册中心定时拉取服务。【服务列表缓存,每隔30拉取更新列表】消费者远程调用服务提供者。服务注册到Nacos时,可以选择注册为临时或非临时实例,默认是临时实例采用心跳检测,每隔30s向注册中心发送心跳检测,当......
  • NacosRule负载均衡
    一、集群优先规则1、配置OrderService的集群名称。cloud:nacos:server-addr:localhost:8848#nacos服务地址discovery:cluster-name:HZ#集群名称2、开启服务测试发现order-service依然是轮询,并未优先选择在本地集群位置的user-service......
  • JPA在事务结束时自动更新查询数据
    目录现象产生的原因解决方法现象最近解决了一个困惑几天的bug,数据库里的某一些记录莫名其妙的被刷新了,排查过代码跟应用日志,可以确定不是代码执行的更新。直到今天看到了一条日志,在事务提交时报错“Column'user_name'cannotbenull”,在出错的事务中,针对这一个表只会执行query......
  • CSR格式如何更新? GES图计算引擎HyG揭秘之数据更新
    摘要:HyG图计算引擎采用CSR格式来存储图的拓扑信息,CSR格式可以将稀疏矩阵的存储空间压缩,进而大大降低图的存储开销,同时具备访问效率高、格式易转化等优点。本文分享自华为云社区《CSR格式如何更新?GES图计算引擎HyG揭秘之数据更新》,作者:π。HyG图计算引擎采用CSR格式来存储图的拓......
  • 如何更新或修改Git远程仓库的URL连接
    一、首先,确认你当前已经将本地项目与旧的远程仓库关联起来。运行以下命令查看当前的远程仓库配置: gitremote-v二、git上新创建的远程仓库名称记录下来三、接下来,使用以下命令来更新远程仓库的URL,将 <新的仓库URL> 替换为新的仓库URL,将 <远程仓库名称> 替换为你要更新的远......
  • react经典面试题解析--持续更新--day02
    二十一、高阶组件的使用场景1、数据获取:高阶组件可以在组件挂载时自动获取数据,并将数据通过props传递给被包装组件。2、权限控制:高阶组件可以检查用户是否有访问该组件的权限,从而决定是否渲染该组件。3、代码重用:高阶组件可以通过封装一些常见的逻辑,来提高代码的复用性。4、......
  • BUUCTF:刷新过的图片
    题目地址:https://buuoj.cn/challenges#%E5%88%B7%E6%96%B0%E8%BF%87%E7%9A%84%E5%9B%BE%E7%89%87F5隐写,利用工具:F5-steganography:https://github.com/matthewgao/F5-steganography得到的output.txt明显是个zip文件修改后缀为zipzip伪加密解压得到flagflag{96efd0a2037d06f34199......
  • Windows下载更新powershell
    在使用windows系统默认的powershell时,打开使用的时候一般都会碰到以下这种情况,有新的版本可以尝试使用在powershell中使用命令:$PSVersionTable;可以查看到当前powershell的一些信息安装新版本powershellWindows官方powershell文档:https://aka.ms/pscore6Powershell7.1的官方Git......
  • Android大厂面试题以及答案整理(2022年2月份更新),助你轻松拿下高薪offer
    前言想必现在有许多朋友,都在为即将到来的金三银四做准备,不知道各位朋友是否十足的把握能拿到自己心仪的Offer呢?下面无偿分享一份包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目,熟悉本文中列出的知识点会大大增加通过前两轮......
  • 外汇天眼:本周监管状态警告更新,以下平台快远离!
    监管信息早知道!外汇天眼将每周定期公布监管牌照状态发生变化的交易商,以供投资者参考,规避投资风险。以下是监管牌照发生变动的交易商平台,注意警惕!HengryHengry,对外宣称持有的澳大利亚ASIC普通工商注册牌照显示“疑似套牌”,暂时未查证到任何有效监管牌照,存在巨大风险!Hengry,天眼评分1.......