实时加载zk配置

zk可配置监听,这没有问题。比如这样。

CuratorFramework client = zKClientInit.getClient();
//groupConfig配置
final NodeCache nodeCache = new NodeCache(client, path, false);
nodeCache.start(true);
nodeCache.getListenable().addListener(new NodeCacheListener() {
    @Override
    public void nodeChanged() throws Exception {
        String configFile = new String(nodeCache.getCurrentData().getData());
        log.info("Config file is changed, new data:+" + configFile);
        try {
            config.initConfig();
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
    }
}, pool);


这里需要path参数,就是zk里的配置的路径。

如果新建一个路径,那么代码怎么能动态加载这文件呢?可以这样配置一下:

config = [
  { 
    name = alg_id,
    feature = /path/web/FeaturesConfigJfy
    model=/path/web/ModelConfig
   }
]
上面的配置放到一个固定的文件,监听这个文件。想要加载别的文件,就能先新建一个路径,再配到上面这个文件。

监听程序监听到变化,加载新的文件就行了。


文/程忠 浏览次数:0次   2022-04-24 14:18:09

相关阅读


评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑