java客戶端線上Apollo服務端的實現(xiàn)
1.指定環(huán)境
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下創(chuàng)建app.properties
app.properties下的內(nèi)容app.id對應Apollo服務端的id
3.創(chuàng)建個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); } } }
運行結(jié)果如下
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot整合logback一個簡單的日志集成架構(gòu)
今天小編就為大家分享一篇關(guān)于Spring Boot整合logback一個簡單的日志集成架構(gòu),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01java識別一篇文章中某單詞出現(xiàn)個數(shù)的方法
這篇文章主要介紹了java識別一篇文章中某單詞出現(xiàn)個數(shù)的方法,涉及java字符解析操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10Java練手小項目實現(xiàn)一個項目管理系統(tǒng)
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個項目管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-10-10