nacos–扩展–1.1–SKD–配置管理
代码位置
https://gitee.com/DanShenGuiZu/learnDemo/tree/master/nacos-learn/nocas-sdk
1、准备
1.1、工具类
/**
* 工具类
*/
public class NacosTools {
/**
* 获取配置服务
*/
public static ConfigService getconfigService() {
String serverAddr = "192.168.187.171:8848";
Properties properties = new Properties();
properties.put("serverAddr", serverAddr);
ConfigService configService = null;
try {
configService = NacosFactory.createConfigService(properties);
} catch (NacosException e) {
e.printStackTrace();
}
return configService;
}
}
1.1、配置
2、获取配置
2.1、接口说明
2.2、代码
public class Test_getConfig {
public static void main(String[] args) throws Exception {
String dataId = "test";
String group = "oa";
ConfigService configService = NacosTools.getconfigService();
String content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
}
}
2.3、异常说明
读取配置超时或网络异常,抛出 NacosException 异常。
3、监听配置
3.1、接口说明
3.2、代码
public class Test_addListener {
public static void main(String[] args) throws Exception {
String dataId = "test";
String group = "oa";
ConfigService configService = NacosTools.getconfigService();
String content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
configService.addListener(dataId, group, new Listener() {
@Override
public void receiveConfigInfo(String configInfo) {
System.out.println("配置变更:" + configInfo);
}
@Override
public Executor getExecutor() {
return null;
}
});
// 测试让主线程不退出,因为订阅配置是守护线程,主线程退出守护线程就会退出。 正式代码中无需下面代码
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
4、删除监听
4.1、接口说明
4.2、代码
public class Test_removeListener {
public static void main(String[] args) throws Exception {
String dataId = "test";
String group = "oa";
ConfigService configService = NacosTools.getconfigService();
String content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
Listener listener = new Listener() {
@Override
public void receiveConfigInfo(String configInfo) {
System.out.println("配置变更:" + configInfo);
}
@Override
public Executor getExecutor() {
return null;
}
};
configService.removeListener(dataId, group, listener);
}
}
5、发布配置
5.1、接口说明
5.2、代码
public class Test_publishConfig {
public static void main(String[] args) throws Exception {
String dataId = "test";
String group = "oa";
ConfigService configService = NacosTools.getconfigService();
String content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
String config_content = "log: rabbitmq";
boolean isPublishOk = configService.publishConfig(dataId, group, config_content);
System.out.println("======================isPublishOk======================");
System.out.println(isPublishOk);
content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
}
}
6、删除配置
6.1、接口说明
6.2、代码
public class Test_removeConfig {
public static void main(String[] args) throws Exception {
String dataId = "test";
String group = "oa";
ConfigService configService = NacosTools.getconfigService();
String content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
System.out.println("======================isRemoveOk======================");
boolean isRemoveOk = configService.removeConfig(dataId, group);
System.out.println(isRemoveOk);
content = configService.getConfig(dataId, group, 5000);
System.out.println("======================content======================");
System.out.println(content);
}
}