apollo java_Apollo配置中心-Api方式与Java方式测试

[toc]

这个部分来演示

创建一个项目并添加测试的key值:timeout=8000 ,batch=9000

通过提供一个token的方式,利用api获取配置信息

创建一个spring boot项目,引入apollo架包,读取配置

通过变跟配置文件,看java项目是不是实时更新配置

创建Apollo项目

点击添加项目

apollo java_Apollo配置中心-Api方式与Java方式测试_第1张图片

输入项目信息,注意应用ID后面也是应用读取的唯一标识

apollo java_Apollo配置中心-Api方式与Java方式测试_第2张图片

选择DEV环境,新增配置, 我这里有测试过,所以dev环境多了个gzywtest-c1集群,默认情况下,点击环境都是选择default配置

apollo java_Apollo配置中心-Api方式与Java方式测试_第3张图片

点击发布,这样dev环境的配置信息就生效了,接下来来生成一个token测试

apollo java_Apollo配置中心-Api方式与Java方式测试_第4张图片

利用Apollo Api测试接口

点击管理员工具-开发平台授权管理

apollo java_Apollo配置中心-Api方式与Java方式测试_第5张图片

输入必要的信息,点击创建,生成token

apollo java_Apollo配置中心-Api方式与Java方式测试_第6张图片

获取集群下所有Namespace信息接口

curl -H 'Authorization:ab5a901872858535afb48f4da1f7c1c5be522de5' \

-H 'Content-Type:application/json;charset=UTF-8' \

http://192.168.1.1:8080/openapi/v1/envs/dev/apps/900001/clusters/default/namespaces/application

返回结果如下

{

"appId": "900001",

"clusterName": "default",

"namespaceName": "application",

"comment": "default app namespace",

"format": "properties",

"isPublic": false,

"items": [{

"key": "redis_host",

"value": "127.0.0.1",

"dataChangeCreatedBy": "apollo",

"dataChangeLastModifiedBy": "apollo",

"dataChangeCreatedTime": "2018-07-04T16:55:54.000+0800",

"dataChangeLastModifiedTime": "2018-07-04T16:55:54.000+0800"

}, {

"key": "timeout",

"value": "8000",

"comment": "",

"dataChangeCreatedBy": "apollo",

"dataChangeLastModifiedBy": "apollo",

"dataChangeCreatedTime": "2018-07-09T11:07:24.000+0800",

"dataChangeLastModifiedTime": "2018-07-09T11:13:36.000+0800"

}, {

"key": "batch",

"value": "9000",

"comment": "",

"dataChangeCreatedBy": "apollo",

"dataChangeLastModifiedBy": "apollo",

"dataChangeCreatedTime": "2018-07-09T11:20:02.000+0800",

"dataChangeLastModifiedTime": "2018-07-09T15:38:02.000+0800"

}],

"dataChangeCreatedBy": "apollo",

"dataChangeLastModifiedBy": "apollo",

"dataChangeCreatedTime": "2018-07-04T16:11:00.000+0800",

"dataChangeLastModifiedTime": "2018-07-04T16:11:00.000+0800"

}

结构url的参数规则如下:

apollo java_Apollo配置中心-Api方式与Java方式测试_第7张图片

Java的接入方式

其实官方的源包下已经包含一个apollo-demo的项目,如果你在看了上一篇的部署apollo项目后,应该记得脚本最后有一个上传本地架包到maven的步骤,这个就是如果想进行java搭建必须的操作,需要将编译好的架包上传到私有源上去. 因为我实在没调通官方的demo项目,所以根据官方的demo项目自己创建一个新的项目来调试,简单讲述下实现的代码,后面提供下载

打开 http://start.spring.io/ ,输入简单的选项,点击生成项目后下载到本地

apollo java_Apollo配置中心-Api方式与Java方式测试_第8张图片

引入eclipse

apollo java_Apollo配置中心-Api方式与Java方式测试_第9张图片

我这里引入过,所以不能再引入,正常输入目录后,eclipse扫描后点击finish就可以引入

apollo java_Apollo配置中心-Api方式与Java方式测试_第10张图片

在pom.xml中添加下列包

com.ctrip.framework.apollo

apollo-client

0.11.0-SNAPSHOT

com.ctrip.framework.apollo

apollo-core

0.11.0-SNAPSHOT

com.google.guava

guava

25.1-jre

com.google.inject

guice

4.2.0

org.springframework.boot

spring-boot-configuration-processor

true

com.google.code.gson

gson

将官方apollo-demo下的 com.ctrip.framework.apollo.demo 拷贝到我们的demo下,这里仅测试官方推荐的java读取方式,删除多余的文件,最后的结构如下

apollo java_Apollo配置中心-Api方式与Java方式测试_第11张图片

添加运行的环境选择,这里用DEV环境

#我的是window下测试,所以在

1. C:\opt\settings\server.properties 添加内容 : ENV=dev

2. 在eclipse 的 META-INF目录下创建一个 app.properties文件添加内容 : app.id=900001

在 pom.xml上右键选择run - maven install ,然后在 AnnotationApplication 右键run - spring boot app

apollo java_Apollo配置中心-Api方式与Java方式测试_第12张图片

apollo java_Apollo配置中心-Api方式与Java方式测试_第13张图片

运行的输出应该能看到如下输出

apollo java_Apollo配置中心-Api方式与Java方式测试_第14张图片

* 在console回车会看到

043a208a06aa465af4496e878a479127.png

更新配置,测试是否实时更新配置

从portal修改dev环境的timeout值变成3000

apollo java_Apollo配置中心-Api方式与Java方式测试_第15张图片

发布配置

apollo java_Apollo配置中心-Api方式与Java方式测试_第16张图片

可以看到console输出中,timeout已经变更了值

apollo java_Apollo配置中心-Api方式与Java方式测试_第17张图片

更多的java接入教程,参考https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97

你可能感兴趣的:(apollo,java)