Nacos配置管理——配置热更新

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nacos配置管理——配置热更新相关的知识,希望对你有一定的参考价值。

文章目录

Nacos配置热更新

我们引入Nacos配置中心的最终目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是配置热更新

要实现配置热更新,可以使用两种方式:

1.方式一

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

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController 
    @Value("$pattern.dateformat")
    private String dateformat;

    @GetMapping("now")
    public String now()
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
    

访问没有问题:

2.方式二

使用@ConfigurationProperties注解代替@Value注解。

在user-service服务中,添加一个类,读取patterrn.dateformat属性:

package com.yyl.user.config;

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

@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties 
    private String dateformat;

在UserController中使用这个类代替@Value,然后通过成员变量的get 方法拿到这个值。

package com.yyl.user.web;

import com.yyl.user.config.PatternProperties;
import com.yyl.user.pojo.User;
import com.yyl.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.LocalDateTime;
import java.time.format.DateTimeFormatter;

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController 
//    @Value("$pattern.dateformat")
//    private String dateformat;

    @Autowired
    private PatternProperties patternProperties;

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


在进行请求也是没问题的:

以上是关于Nacos配置管理——配置热更新的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud之Nacos配置管理(热共享更新配置集群搭建)

SpringCloud Nacos配置管理 -- 配置热更新多环境配置共享IDEA按不同环境启动的小技巧

微服务nacos配置管理

SpringCloud 核心组件Nacos配置热更新&配置共享第5章

SpringCloud之微服务实用篇2

SpringCloud之微服务实用篇2