naocs多节点配置代码灵活获取

2024-01-03 10:58:02

naocs多节点配置:
package com.common.security.utils;

import java.util.Map;

/**

  • 动态获取nacos配置

  • @author
    */
    @Component
    @Data
    @ConfigurationProperties(prefix = “qdm”)
    public class NacosConfigUtils {

    //注意这里的factoryMap要与yml里的配置名对应
    private Map<String,Map<String,String>> factoryMap;

    /**

    • 根据参数获取nacos url配置,默认读当前用户选中的工厂配置

    • @param key 获取参数key

    • @param factoryKey 获取此工厂的配置
      */
      public String getNanosFactoryConfig(String key, String factoryKey){
      String value = Strings.EMPTY;
      String factory = SecurityUtils.getLoginUser().getCurrentFactory();
      if(StringUtils.isBlank(factoryKey)){
      factoryKey = factory;
      }

      Map<String,String> paramUrl = factoryMap.get(factoryKey);
      if(!CollectionUtils.isEmpty(paramUrl)){
      value = paramUrl.get(key);
      }
      return value;
      }

}

配置类和静态类分开

public class ConfigUtils
{

/**
 * 获取多工厂配置
 *
 * @param key 缓存的键
 * @param factory 厂别,不传取默认
 */
public static String getConfigByKey(String key,String factory)
{
    return SpringUtils.getBean(NacosConfigUtils.class).getNanosFactoryConfig(key,factory);
}

}

文章来源:https://blog.csdn.net/Liutt55/article/details/135354942
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。