博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监听 apollo 配置变化
阅读量:4203 次
发布时间:2019-05-26

本文共 1846 字,大约阅读时间需要 6 分钟。

监听 apollo 配置 cleanPrecisionVersion 变化的类

源码

@Component@Order(value = Ordered.HIGHEST_PRECEDENCE)@Slf4jpublic class InitApolloConfigure implements CommandLineRunner {
// 内存缓存 private volatile ConcurrentHashMap
> cleanPrecisionMap = new ConcurrentHashMap(); // apollo 中配置 cleanPrecision 版本的 KEY private static final String CLEAN_PRECISION_VERSION = "cleanPrecisionVersion"; //inject config for namespace application @ApolloConfig private Config config; @Reference(version = "${dubbo.order.application.version}") private ICleanPrecisionConfigBiz cleanPrecisionConfigBiz; @Override public void run(String... args) throws Exception{
// 加载 namespace application 的配置 Set
configs = config.getPropertyNames(); if (CollectionUtils.isNotEmpty(configs)) {
// 项目启动,加载数据到内存中 setInitCleanPrecisionMap(); monitorApolloConfigurationChange(config); } } private void setInitCleanPrecisionMap() {
List
list = cleanPrecisionConfigBiz.getCleanPrecisionConfigList(); if (CollectionUtils.isEmpty(list)) {
// 手动抛出运行时异常 String initCleanPrecisionMapMsg = "项目启动,查询 DB 为空!" + " 服务器 IP:" + IpUtil.getIp(); throw new RuntimeException(initCleanPrecisionMapMsg); } else {
setMap(list); } } private void monitorApolloConfigurationChange(Config config) {
config.addChangeListener(configChangeEvent -> {
// 监听 apollo 配置中发生变化的 KEY Set
keys = configChangeEvent.changedKeys(); if (CollectionUtils.isNotEmpty(keys) && keys.contains(CLEAN_PRECISION_VERSION)) {
// KEY 变化,重新加载数据到内存中 setUpdateCleanPrecisionMap(); } }); }}

参考文档

转载地址:http://zfvli.baihongyu.com/

你可能感兴趣的文章
手动6 - 隐藏Nginx版本号
查看>>
手动7 - nginx 日志切割
查看>>
magento - 使用后台设置的时间用法
查看>>
Linux常用命令
查看>>
清除文件中的.svn文件
查看>>
手动11 -nginx 优化配置
查看>>
php加速器 - zendopcache
查看>>
手动12 - 安装php加速器 Zend OPcache
查看>>
set theme -yii2
查看>>
yii2 - 模块(modules)的view 映射到theme里面
查看>>
yii2 - controller
查看>>
yii2 - 增加actions
查看>>
网站加载代码
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
yii2 用命令行操作web下的controller
查看>>