通过 Nacos 提供的 Java 客户端 SDK 来获取配置信息,但是结果是null
<!--添加maven依赖 -->
<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.1.2</version>
</dependency>
代码如下
public static void main(String[] args) throws NacosException {
//nacos 地址
String serverAddr = "127.0.0.1:8848";
//Data Id
String dataId = "nacos‐simple‐demo.yaml";
//Group
String group = "DEFAULT_GROUP";
Properties properties = new Properties();
properties.put("serverAddr",serverAddr);
ConfigService configService = NacosFactory.createConfigService(properties);
//获取配置,String dataId, String group, long timeoutMs
String content = configService.getConfig(dataId, group, 5000);
System.out.println(content);
}
打印出来的content始终为null,去查看源码中的调用方法,发现源码中多了一个命名空间的配置。将以上代码添加以下代码即可:
//添加nacos 命名空间,testNacos:为你需要查询配置所在的命名空间
properties.setProperty("namespace", "testNacos");
完整版代码如下:
public static void main(String[] args) throws NacosException {Properties properties = new Properties();//nacos 地址 PropertyKeyConst.SERVER_ADDR:"serverAddr"properties.setProperty(PropertyKeyConst.SERVER_ADDR,"127.0.0.1:8848");//nacos 命名空间properties.setProperty("namespace", "testNacos");//Data IdString dataId = "nacos-demo1.yml";//GroupString group = "DEFAULT_GROUP";ConfigService configService = NacosFactory.createConfigService(properties);//获取配置,String dataId, String group, long timeoutMsString content = configService.getConfig(dataId, group, 5000);System.out.println("content: "+content);}