目录
1项目
1.1 新增项目
设置appid,保证唯一
1.2增加配置
新增后,记得点击发布,不然,读取不到配置。
1.2.1 读取配置
在idea下增加VM环境变量
点击edit configuration
-Dapp.id=apollo-test -Dapollo.meta=http://localhost:8080
Dapp.id是应用id,也就是创建项目时的id
1.2.2 读取配置代码
pom.xml
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
测试类
package com.fyqd.apollo;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
/**
* Description:
* Author: wude
* Date: 2019/11/22 11:10
* Modified By:
*/
public class ConfigTest {
public static void main(String[] args) throws InterruptedException {
Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
while (true){
Thread.sleep(1000);
String value = config.getProperty("jdbc.username",null);
System.out.println("value:"+value);
}
}
}
注意:经过测试发现,如果名称为user.name,取到的是系统的用户名,可能是环境名冲突了,所以大家尽量避免这类问题。
测试:一般测试,一般改配置的值,发现控制台打印的都是最新的值,说明文件已经热部署勒。
1.3 删除项目
找到对应项目的appid
先查询再删除。
2.新增部门
通过organizations查询
可以对value进行修改,仿json格式。
3.namespace
可以里面为命令空间,等价于我们项目中的一个配置文件。可以这样理解。
3.1 新增命名空间
如果只能本项目可调用,可设置成private
3.2公有namespace
在项目开发过程中,我们可能有一些公共的配置,那么我们需要创建公共的配置namespace
1.先新增一个公有项目
2.新增namespace
创建一个公有的namespace,记住一定要选择public
选择要添加公有配置的项目
绑定公有的命名空间
配置页面就多了一个关联的配置
可以根据如下代码,简单的测试一下,公有配置是否可以调用
pom.xml
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
测试类
package com.fyqd.apollo;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
/**
* Description:
* Author: wude
* Date: 2019/11/22 11:10
* Modified By:
*/
public class ConfigTest {
public static void main(String[] args) throws InterruptedException {
Config config = ConfigService.getConfig("TEST3.commom");
//Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
while (true){
Thread.sleep(1000);
String value = config.getProperty("server.zookeeper",null);
System.out.println("value:"+value);
}
}
}
idea启动配置main的环境变量
-Dapp.id=apollo-test -Dapollo.meta=http://localhost:8080
注意:这里的id是在apollo项目中的id
测试结果:
注意:公有的配置是不能在关联的那个项目下修改的,只能覆盖。但是,也生效
3.3创建集群
为什么要有集群,例如,MQ里面存放交易信息,上海MQ,深圳MQ,北京MQ,其实上,只是ip不同而已。这是我们就需要用到集群。
这里就有两个集群勒,默认是有一个default集群。
3.3.1 集群环境同步配置
通过上述操作,配置就可以同步过来,记得发布一下。
3.3.2 集群环境测试
1.导入maven依赖
2.vm设置
-Dapp.id=apollo-test -Dapollo.cluster=shtest -Dapollo.meta=http://localhost:8080
shtest是集群的名称
3.代码
package com.fyqd.apollo;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
/**
* Description:
* Author: wude
* Date: 2019/11/22 11:10
* Modified By:
*/
public class ConfigTest {
public static void main(String[] args) throws InterruptedException {
//指定namespace空间
Config config = ConfigService.getConfig("application");
//Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
while (true){
Thread.sleep(1000);
//设置需要获取属性的值
String value = config.getProperty("jdbc.username",null);
System.out.println("value:"+value);
}
}
}
打印的输出,是对应项目下,对象集群下的值
如果你热衷技术,喜欢交流,欢迎加入我们!