每日一句
你过得太闲,才有时间执着在无意义的事情上,才有时间无病呻吟所谓痛苦。你看那些忙碌的人,他们的时间都花在努力上
commons configuration
CommonsConfiguration主要有两个大的版本1.x版本和2.x版本。1.x版本从04年到13年 目前已经停止更新,最新版本1.10。2.x版本目前最新版本2.7 目前还在更新中!
因为Archaius选取的版本是1.x版本 所以后面的文章中主要介绍的也是1.x版本。2.x不作介绍。
CommonsConfiguration提供了一个通用的配置接口Configuration,该接口使应用从各个来源读取配置数据,支持从以下来源获取配置数据
- Properties属性文件
- XML文件
Windows INI文件属性列表文件(plist)JNDI- 数据库
- 系统属性
- Servlet参数
Applet参数
除了画删除线的其他的还是使用比较广泛的。需要注意的是1.x不支持yml文件的。
Archaius概述
Archaius包括在Netflix上使用的一组Java配置管理API。它主要实现为Apache Commons Configuration Library的扩展。值得注意的功能是:
- 动态类型属性
- 高吞吐量和线程安全配置操作
- 一个轮询框架允许用户获得对配置源的属性更改
- 在有效/“获胜”属性突变时调用的回调机制(在配置的有序层次结构中)
- 一个JMX MBean的,可以通过JConsole的访问考察并调用属性操作
- 开箱即用的,愿意使用基于约定的属性文件位置的应用程序(和大多数Web应用程序)的“复合配置”(层次结构有序)
Archaius的核心是可以容纳一个或多个配置的复合配置的概念。每个配置都可以从诸如JDBC,REST,.properties文件之类的配置源中获取。可以选择在运行时对配置源进行轮询以进行更改(在上图中,为持久数据库配置源;在表中包含属性的RDBMS,每隔一段时间就会被轮询一次以进行更改)。
属性的最终值是根据包含该属性的最顶层配置来确定的。即,如果一个属性存在于多个配置中,则应用程序看到的实际值将是配置层次结构中最顶层插槽中的值。可以配置层次结构。
Archaius版本选取
我们在平时的工作中 直接使用Archaius是非常少的,只有在使用SpringCloud的时候才会使用到。而最新的springboot依赖的版本是0.7.6。本着像Spring靠拢的原则 所以我们选取的版本也是0.7.6。
后面的所有文章都是基于0.7.6版本:
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
<version>0.7.6</version>
</dependency>
好了介绍就到这把 从下篇文章开始 我们花几篇文章介绍一下Apache Commons Configuration. 它是Archaius的基础 对Archaius掌握多少 取决于你对CommonsConfiguration掌握多少!这话一点不夸张。