Nacos 获取配置

上章节中我们发布了一个名为 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 到底做了些什么:

Nacos 获取配置

Nacos 获取配置

Nacos 获取配置

Nacos 获取配置

Nacos 获取配置

从上图可知,最终请求是由 RpcClient 发起的,更多知识请阅读后续章节……

 

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号