자바 클 라 이언 트 온라인 Apollo 서버 구현

1.지정 한 환경
1.1 C:\opt\settings\\아래 server.properties 가 있 습 니 다.
在这里插入图片描述
env=DEV 는 서버 에 대응 하 는 다음 그림 입 니 다.
apollo.meta=http://192.168.1.143:8070서버 포트 번호 입 니 다.
在这里插入图片描述
  1.2 C:\opt\\data\babel 023\\config-cache 에 이 네 개의 파일 이 있 습 니 다.
在这里插入图片描述
2.META-INF 아래 app.properties 만 들 기
在这里插入图片描述
app.properties 의 내용 app.id 는 Apollo 서버 의 id 에 대응 합 니 다.
在这里插入图片描述
3.Simple Apollo Config 만 들 기

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([email protected])
 */
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);
  }
 }
}
실행 결 과 는 다음 과 같다.
在这里插入图片描述
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기