当前位置:网站首页>Nacos配置管理——配置热更新
Nacos配置管理——配置热更新
2022-07-19 09:12:00 【流楚丶格念】
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()));
}
}
在进行请求也是没问题的:
边栏推荐
- 在 IDEA 里下个五子棋不过分吧?
- How to use swiftui to create drawing application based on coredata pencil Kit
- Wechat applet_ 18. Communication between parent and child components
- Use of Evo assessment tools
- DolphinScheduler
- NFT 游戏互操作性:技术不是拦路虎
- Phpcms add multi text attribute field_ Detailed tutorial
- Browser debugging
- 【数据集制作】标注工具
- Docker installs common software MySQL
猜你喜欢
DolphinScheduler
Shopify卖家:分享做社交媒体营销的几个技巧!
[Hongke news] Hongke electronics officially established a partnership with Weka
Isn't it too much to play Gobang in idea?
QGIS导出单个矢量
Failed to process package ‘cartographer_ ros‘ :
Part 14: can bus communication of stm32
Error when idea connects H2 database
Find - b+ tree
IDEA 连接h2数据库报错
随机推荐
黑客破解赌博网站漏洞每月“薅羊毛”10万
【深度学习】pytorch使用tensorboard可视化实验数据
Isn't it too much to play Gobang in idea?
JUC_synchronized关键字详解
Use of Evo assessment tools
UE GIS virtualization learning
golang consul 观察者watch
微服务--熔断和限流
大批程序员被劝退!
这些年我开源的几个小项目
科技竞争力评估体系研究与实践
Nacos配置管理——配置共享
Docker安装常用软件-Redis
DolphinScheduler
Starbucks may close more U.S. stores in the future due to concerns about the safety of employees
[HDU 6095] Rikka with Competition
powershell和cmd区别
Driud 配置问题
【JS】this指向的问题
Why psp22 is important to Polkadot ecosystem