千锋扣丁学堂Java培训之客户端线上Apollo服务端的实现

2019-08-13 17:13:03 1820浏览

今天千锋扣丁学堂Java培训老师给大家分享一篇关于客户端线上Apollo服务端的实现详解,下面我们一起来看一下吧。



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);
  }
 }
}

运行结果如下


以上就是关于千锋扣丁学堂Java培训之客户端线上Apollo服务端的实现的全部内容,希望对大家的学习有所帮助,

想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。想要学好Java开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Java学习路线图辅助学员学习,此外还有与时俱进的Java课程体系和Java视频教程供大家学习,想要学好Java开发技术的小伙伴快快行动吧。扣丁学堂Java技术交流群:850353792。


                          JavaEE/微服务/源码解析/分布式/企业级架构【VIP体验课】


     【关注微信公众号获取更多学习资料】        【扫码进入JavaEE/微服务VIP免费公开课】  



查看更多关于“Java开发资讯”的相关文章>>


标签: Java培训 Java视频教程 Java多线程 Java面试题 Java学习视频 springBoot项目

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号