Java客户端如何在线上实现与Apollo服务端的交互?

2026-06-10 14:342阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计417个文字,预计阅读时间需要2分钟。

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目录下内容

1.指定环境

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


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

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

Java客户端如何在线上实现与Apollo服务端的交互?

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

运行结果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:实现

本文共计417个文字,预计阅读时间需要2分钟。

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目录下内容

1.指定环境

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


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

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

Java客户端如何在线上实现与Apollo服务端的交互?

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

运行结果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:实现