携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

时间:2022-05-24 15:52:02

参考:https://github.com/ctripcorp/apollo/wiki/Apollo%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97#23-java%E6%A0%B7%E4%BE%8B%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%90%AF%E5%8A%A8

前提先搭建好本地单机环境:http://www.cnblogs.com/EasonJim/p/7643630.html

解压导入Eclipse:

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

主要使用的是apollo-demo

在配置中心后台新建好App和配置文件项

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

注意:两个配置文件的名称中,第一个是新建App时默认的,主要把项填入即可。而第二个是选择添加Namespace时,指定私有模式才能输入自定义名称。

回到apollo-demo项目上,指定Class运行,增加如下的VM启动参数:

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

并配置刚才设置的AppID:

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

启动后可以看见如下的信息已经通过远程启动起来:

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

对于为什么需要传递两个VM参数,原因如下:

1、第一个参数用于指定环境,env先通过/opt/settings/server.propertis指定的去读取,如果没有就直接读取系统属性-D提供的,如果都没有,那么你挂定了。

2、由于使用的是整套代码引入的Demo项目,所以在app-core中对于meta_server的地址采用了变量去读取,而这个变量提供的方式时系统属性-D去提供。在这里:

携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试

而如果是使用自己打包上传到仓库的Client时,这个Client最终会包含Core,这些地址已经自动指定了,所以不需要系统属性。

当然,上面所截图只是会在打包的时候修改这里的变量,而真正去读取的部分在代码上,如果同时指定了系统属性的,那么优先级是系统属性最高。