搭建统一配置平台 携程apollo-客户端

  • Post author:
  • Post category:其他


apollo官网有各种配置介绍,我这里采用比较合理的方式,也是官网推荐的方式,就是自己封装一个类包,作为二方库,给公司其他需要统一配置的项目来使用。

一、二方库制作

1.自己创建一个pom项目,可以打包成jar

<groupId>company-apollocilent</groupId>
<artifactId>company-apollocilent</artifactId>
<version>1.1.0</version>

2. 在pom.xml文件中加入apollo client包的依赖

<dependency>
<groupId>company.apollo-client</groupId>
<artifactId>company.apollo-client</artifactId>
<version>1.1.0</version>
</dependency>

3.resources下建立apollo-env.properties内容为

dev.meta=http://101.37.148.182:28080
fat.meta=http://apollo.fat.xxx.com
uat.meta=http://apollo.uat.xxx.com
pro.meta=http://120.55.242.14:8080

各环境对应的metaService地址。

做完上述三部,编译通过后,然后打包成jar。

二、springmvc项目使用apollo统一配置

1 在项目pom.xml引入刚才制作的二方库company.apollo-client。
<dependency>
<groupId>company-apollocilent</groupId>
<artifactId>company-apollocilent</artifactId>
<version>1.1.0</version>
</dependency>

2resources下建立META-INF目录并在目录下新建app.properties,内容为
app.id=1111      (项目在apollo统一配置界面里配置的应用id)

3在启动时,加-Denv=PRO即可。  (DEV,FAT,UAT,PRO)  

三、springboot项目使用apollo统一配置.prop配置方式同springmvc

1 在项目pom.xml引入刚才制作的二方库company.apollo-client。
<dependency>
<groupId>company-apollocilent</groupId>
<artifactId>company-apollocilent</artifactId>
<version>1.1.0</version>
</dependency>

2resources下建立META-INF目录并在目录下新建app.properties,内容为
app.id=1111      (项目在apollo统一配置界面里配置的应用id)

3在启动时,加-Denv=PRO即可。  (DEV,FAT,UAT,PRO)  

四项目中使用的方式

1.代码中需要用到统一配置的方式

@ApolloConfig
private Config config;
Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
String someKey = "server.port";
String someDefaultValue = "2222";       
String value = config.getProperty(someKey, someDefaultValue);   //someDefaultValue是当获取统一配置失败后,默认值

2. xml配置文件中使用统一配置的方式

<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="port" value="${server.port:100}" />    100是当获取统一配置失败后,默认值
</bean>



版权声明:本文为doeverything原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。