Java客户端线上Apollo服务端

1.指定环境

1.1 在C:\opt\settings\下有server.properties

136FCF0E-1E8B-7760-27BC-BD7C4B872843.png

env=DEV是对应服务器上的如下图

apollo.meta=http://192.168.1.143:8070是你服务端的端口号

E09AA7D2-90F1-034B-C9BA-7857DB7BD322.png

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

C7983F44-47D7-66E9-6485-F2D86A04F9E0.png

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

9699C55B-2272-DBD0-9E94-DC0C4CFBA35D.png

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

B9AD6112-3588-466B-C67F-5B535CE53D9B.png

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

运行结果如下

C09E2909-FEC9-FF98-75BC-2A346F094E9C.png

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的