java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 监听Nacos指定配置项动态变更

监听Nacos指定配置项动态变更方式

作者:Xzw_jsu

本段落主要介绍了通过监听ActionConfigEvent类来实现Nacos指定配置项的动态变更,以Constant.COLUMN_VERSION_KEY为例,演示如何实现业务开关功能,强调了此方法在实际项目中的应用与应用

监听Nacos指定配置项动态变更

只需要监听 ActionConfigEvent 类便可以实现:

假如想做一个动态“业务开关“的功能

只需要定义好对应的变量Constant.COLUMN_VERSION_KEY在事件中监听对应的配置项,便可以进行对应的业务数据初始化等相关处理。

import com.purgeteam.dynamic.config.starter.event.ActionConfigEvent;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@Component
public class NacosListener implements ApplicationListener<ActionConfigEvent> {
    @Autowired
    private PlatformService platformService;
    @Override
    public void onApplicationEvent(ActionConfigEvent environment) {
        Map<String, HashMap> map = environment.getPropertyMap();
        for (Map.Entry<String, HashMap> entry : map.entrySet()) {
            String key = entry.getKey();
            Map changeMap = entry.getValue();
            String before = String.valueOf(changeMap.get("before"));
            String after = String.valueOf(changeMap.get("after"));
            log.info("配置[key:{}]被改变,改变前before:{},改变后after:{}", key, before, after);
            if (Constant.COLUMN_VERSION_KEY.equals(key)) {
                // 需要监听处理的逻辑
                platformService.updateColumns();
            }
        }
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文