zoukankan      html  css  js  c++  java
  • apollo客户端springboot实战(四)

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

    1.1. 前言

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

    1.2. 配置改动

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

    2. 这是我原本的config配置

    1. 现在先前的config配置完全注掉,添加个application.yml配置个基本信息,原来存在git上的配置则统一放apollo上去

    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

    1.3. 总结

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

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

  • 相关阅读:
    Median Value
    237. Delete Node in a Linked List
    206. Reverse Linked List
    160. Intersection of Two Linked Lists
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted Lists
    477. Total Hamming Distance
    421. Maximum XOR of Two Numbers in an Array
    397. Integer Replacement
    318. Maximum Product of Word Lengths
  • 原文地址:https://www.cnblogs.com/sky-chen/p/10560284.html
Copyright © 2011-2022 走看看