欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

apollo客户端springboot实战(四)

程序员文章站 2022-10-06 14:55:13
1. apollo客户端springboot实战(四) 1.1. 前言   经过前几张入门学习,基本已经完成了apollo环境的搭建和简单客户端例子,但我们现在流行的通常是springboot的客户端,所以这章还是来学习下springboot客户端如何和apollo整合 &ems ......

1. apollo客户端springboot实战(四)

1.1. 前言

  经过前几张入门学习,基本已经完成了apollo环境的搭建和简单客户端例子,但我们现在流行的通常是springboot的客户端,所以这章还是来学习下springboot客户端如何和apollo整合
  接下来我来改造我自己的项目,我本来的项目接入的是spring config配置管理中心,读的git上的配置,它没有管理界面,功能也比较单一,所以我打算替换成apollo

1.2. 配置改动

apollo客户端springboot实战(四)

  1. 添加配置类,这个@enableapolloconfig 也可以直接放在启动类上,我单独一个配置类起到一定隔离,不需要的时候把apollo这个相关包注掉或删掉

  2. 这是我原本的config配置

apollo客户端springboot实战(四)

  1. 现在先前的config配置完全注掉,添加个application.yml配置个基本信息,原来存在git上的配置则统一放apollo上去
    apollo客户端springboot实战(四)
  2. 从1.2.0版本开始,如果希望把日志相关的配置(如logging.level.root=info或logback-spring.xml中的参数)也放在apollo管理,那么可以额外配置apollo.bootstrap.eagerload.enabled=true来使apollo的加载顺序放到日志系统加载之前,不过这会导致apollo的启动过程无法通过日志的方式输出(因为执行apollo加载的时候,日志系统压根没有准备好呢!所以在apollo代码中使用slf4j的日志输出便没有任何内容)-----这是官方原话,但我实际操作发现我用 apollo.bootstrap.eagerload.enabled=false根本没有日志打印,打了spring logo就没了,浏览器测试下接口通的,说明启动完成了,但日志不起效果,反而用true就有我自己系统日志了,所以我这里设了true

  3. 配置pom

 <!-- 阿波罗配置中心 -->
 <dependency>
     <groupid>com.ctrip.framework.apollo</groupid>
     <artifactid>apollo-client</artifactid>
     <version>1.3.0</version>
 </dependency>
  1. 其他我们原先在application.properties中配置的属性全部移到appollo

apollo客户端springboot实战(四)

1.3. 总结

  阿波罗客户端的配置还是相当简单的,几乎没什么变动,如果有监听配置改动的需求,它还提供了一个监听注解@apolloconfigchangelistener,想要完全了解apollo就去看看它的文档,还是蛮全的,文档地址:

https://github.com/ctripcorp/apollo/wiki