java客户端线上Apollo服务端的实现
时间:2021-05-28 08:01:42|栏目:JAVA代码|点击: 次
1.指定环境
1.1 在C:\opt\settings\下有server.properties

env=DEV是对应服务器上的如下图
apollo.meta=http://192.168.1.143:8070是你服务端的端口号

1.2 在C:\opt\data\babel023\config-cache有这四个文件

2.在META-INF下创建app.properties

app.properties下的内容app.id对应Apollo服务端的id

3.创建个SimpleApolloConfig
package com.fqgj.rest;
import com.google.common.base.Charsets;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigChangeListener;
import com.ctrip.framework.apollo.ConfigService;
import com.ctrip.framework.apollo.model.ConfigChange;
import com.ctrip.framework.apollo.model.ConfigChangeEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author Jason Song(song_s@ctrip.com)
*/
public class SimpleApolloConfigDemo {
private static final Logger logger = LoggerFactory.getLogger(SimpleApolloConfigDemo.class);
private String DEFAULT_VALUE = "undefined";
private Config config;
public SimpleApolloConfigDemo() {
ConfigChangeListener changeListener = new ConfigChangeListener() {
@Override
public void onChange(ConfigChangeEvent changeEvent) {
logger.info("Changes for namespace {}", changeEvent.getNamespace());
for (String key : changeEvent.changedKeys()) {
ConfigChange change = changeEvent.getChange(key);
logger.info("Change - key: {}, oldValue: {}, newValue: {}, changeType: {}",
change.getPropertyName(), change.getOldValue(), change.getNewValue(),
change.getChangeType());
}
}
};
config = ConfigService.getAppConfig();
config.addChangeListener(changeListener);
}
private String getConfig(String key) {
String result = config.getProperty(key, DEFAULT_VALUE);
logger.info(String.format("Loading key : %s with value: %s", key, result));
return result;
}
public static void main(String[] args) throws IOException {
SimpleApolloConfigDemo apolloConfigDemo = new SimpleApolloConfigDemo();
System.out.println(
"Apollo Config Demo. Please input key to get the value. Input quit to exit.");
while (true) {
System.out.print("> ");
String input = new BufferedReader(new InputStreamReader(System.in, Charsets.UTF_8)).readLine();
if (input == null || input.length() == 0) {
continue;
}
input = input.trim();
if (input.equalsIgnoreCase("quit")) {
System.exit(0);
}
String ccc= apolloConfigDemo.getConfig(input);
System.out.println(ccc);
}
}
}
运行结果如下

上一篇:Spring Boot整合EasyExcel(完整版包含上传解析excel和下载模板)
栏 目:JAVA代码
下一篇:java中的文件操作总结(干货)
本文地址:http://www.codeinn.net/misctech/130565.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




