上章节中我们发布了一个名为 my_config 的配置,本章将介绍怎样通过 Nacos 提供的 Java SDK 通过编码的方式获取配置信息。
创建一个简单的 Maven 项目,在 pom.xml 中添加如下依赖:
<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.9</version> </dependency>
注意,记得添加 slf4j 的依赖,否则运行时会报 NotFoundClass 错误。
下面示例使用 NacosFactory.createConfigService() 工厂方法创建一个 ConfigService 实例,然后通过 ConfigService 实例根据 Group、DataId 获取配置信息:
package com.hxstrive.nacos; import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.config.ConfigService; import com.alibaba.nacos.api.exception.NacosException; import java.util.Properties; /** * Nacos SDK 简单DEMO * @author hxstrive.com */ public class SimpleDemo { public static void main(String[] args) throws NacosException { // Nacos 地址 String serverAddr = "127.0.0.1:8848"; // Data ID String dataId = "my_config"; // Group String group = "DEFAULT_GROUP"; Properties config = new Properties(); config.put("serverAddr", serverAddr); // 如果 Nacos 开启了登录权限,则指定用户名和密码 // 如果没有开启登录权限,则注释掉下面两行代码 config.put("username", "nacos"); config.put("password", "nacos"); ConfigService configService = NacosFactory.createConfigService(config); // String getConfig(String dataId, String group, long timeoutMs) throws NacosException; // timeoutMs 为获取配置超时时间,单位毫秒 String content = configService.getConfig(dataId, group, 5000); System.out.println(content); } }
运行示例,输出如下:
version=2.2.3 name=nacos
恭喜,代码运行成功了。
下面简单跟踪一下代码,看看 Nacos Client 到底做了些什么:
从上图可知,最终请求是由 RpcClient 发起的,更多知识请阅读后续章节……