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

原文地址:https://www.cnblogs.com/sky-chen/p/10560284.html

时间: 2024-08-30 04:35:15

apollo客户端springboot实战(四)的相关文章

SpringBoot实战(四)之使用JDBC和Spring访问数据库

这里演示的是h2databse示例,所以简单的介绍普及下h2database相关知识 H2数据库是一个开源的关系型数据库. H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容.它还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便. H2数据库特点: 短小精干. Java编写,可使用GCJ和IKVM.NET编译. 同时支持网络版和嵌入式版本,另外还提供了内存版. 有比较好的兼容性,支持相当

SpringBoot实战 之 异常处理篇

在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,那该如何减少程序异常对用户体验的影响呢?其实方法很简单,对异常进行捕获,然后给予相应的处理即可.但实现的方式却有好多种,例如: try { ... } catch (Exception e) { doSomeThing(); } 像这种标准的 try-catch 是可以解决问题,但如果让你在每个接口实现里面都 try-catch 一下,我想你应该是不太愿意的.那么下面来介

重磅发布-SpringBoot实战实现分布式锁视频教程

概要介绍:历经一个月的时间,我录制的分布式锁实战之SpringBoot实战实现系列完整视频教程终于出世了!在本课程中,我分享介绍了分布式锁出现的背景.实现方式以及将其应用到实际的业务场景中,包括"重复提交"."CRM系统销售人员抢单",并采用当前相当流行的微服务SpringBoot来搭建项目实战实现分布式锁. 课程学习:目前博主已将分布式锁实现以及实际业务场景实战的要点整理成课程,感兴趣的童鞋可以前往学习:http://edu.51cto.com/course/15

转 apollo客户端实现不重启项目动态获取配置

一.准备工作 1.1 环境要求 Java: 1.7+ Guava: 15.0+ Apollo客户端默认会引用Guava 19,如果你的项目引用了其它版本,请确保版本号大于等于15.0 注:对于Apollo客户端,如果有需要的话,可以做少量代码修改来降级到Java 1.6,详细信息可以参考Issue 483 1.2 必选设置 Apollo客户端依赖于AppId,Apollo Meta Server等环境信息来工作,所以请确保阅读下面的说明并且做正确的配置: 1.2.1 AppId AppId是应用

Python爬虫实战四之抓取淘宝MM照片

福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 最新动态 更新时间:2015/8/2 最近好多读者反映代码已经不能用了,原因是淘宝索引页的MM链接改了.网站改版了,URL的索引已经和之前的不一样了,之前可以直接跳转到每个MM的个性域名,现在中间加了一个跳转页,本以为可以通过这个页面然后跳转到原来的个性域名,而经过一番折腾发现,这个跳转页中的内容是JS动态生成的,所以不能用Urllib库来直接抓取了,本篇就只提供学习思路,代码不能继续用了. 之后博主会利用其它方

Android切近实战(四)

上一节我们看了系统参数的主界面,大家应该还有印象,如下 那本节我们来看一下修改和删除. 上节我已经介绍了系统参数修改以及删除的WebService,如下 其中系统参数修改的描述如下 系统参数删除的定义如下 接下来我们需要知道的是如何实现修改和删除按钮的功能.记得上节我们使用系统提供的SimpleAdapter去展示listview的数据.这样是无法实现按钮的响应的.所以在实现这两个按钮的功能之前,首先需要让他们能够响应点击事件.所以需要我们自己定义Adapter. public class cu

基于Web Service的客户端框架搭建四:终结篇

前言 这是这个系列的终结篇,前面3个博客介绍了一下内容: 1.使用Http Post方式调用Web Service 2.客户端框架之数据转换层 3.客户端框架之代理层 框架结构 框架是基于C#的,在VS2010中搭建出来的,解决方案搭建完毕之后的框架结构如下图: 如上图,框架主要分数据层Data,数据转换成FCL,代理层Proxy,功能分发层Dispatcher以及界面层UI. 1.数据转换层FCL 数据格式转换层,位于在Proxy服务代理层和UI界面层之间.在UI层使用的都是明确的实例对象(比

SpringBoot:四种读取properties文件的方式

前言 在项目开发中经常会用到配置文件,配置文件的存在解决了很大一份重复的工作.今天就分享四种在Springboot中获取配置文件的方式. 注:前三种测试配置文件为springboot默认的application.properties文件 [html] view plain copy #######################方式一######################### com.battle.type3=Springboot - @ConfigurationProperties c

机器学习实战四(Logistic Regression)

机器学习实战四(Logistic Regression) 这一章会初次接触最优化算法,在日常生活中应用很广泛.这里我们会用到基本的梯度上升法,以及改进的随机梯度上升法. Logistic回归 优点:计算代价不高,易于理解和实现 缺点:容易欠拟合,分裂精度可能不高 原理:根据现有数据堆分类边界线建立回归公式,依次进行分类. 这里的回归其实就是最佳拟合的意思. 1.基于Logistic回归和Sigmoid函数的分类. 我们需要一个这样的函数:接受所有的输入,然后预测出类别.例如,如果只有两类,则输出