archaius(1) 概述

  首先來看看Archaius解決了什麼問題,在大型分佈式系統中,在大型分佈式系統中常常會存在下面的幾類問題:java

    1.需用從配置中新獲取配置,加載到本地內存。apache

    2.配置中心的配置發生變化,須要動態更新本地內存中的配置。安全

    3.配置中心的配置發生變換,須要接收通知。分佈式

  archaius如何解決上面的問題:spa

    其實archaius解決方法很簡單,就是定時從配置中心去讀取數據,而且更新內存中相關配置,而且通知監聽的監聽器更新內容。.net

  經過archaius咱們就能夠實現動態配置了。下面是archaius使用的一個例子:線程

1、引入archaius包code

<dependency>
  <groupId>com.netflix.archaius</groupId>
  <artifactId>archaius-core</artifactId>
  <version>0.6.0</version>
</dependency>

2、archaius默認會去讀取類路徑下的config.properties配置文件,在類路徑下建立配置文件。blog

myname=zwh

3、使用DynamicPropertyFactory來獲取屬性,並獲取值。內存

public class RibbonMain { public static void main(String[] args) throws IOException { DynamicStringProperty timeToWait = DynamicPropertyFactory.getInstance().getStringProperty("myname", "default"); System.out.println(timeToWait.get()); } }

  


用於管理java配置。主要功能是對apache common configuration類庫進行擴展。提供如下特性:

  • 動態獲取屬性
  • 高效和線程安全的配置操做
  • 配置改變時提供回調機制
  • 能夠經過jmx操做配置
  • 複合配置

第一個Archaius實例

 

複合配置例子

  Archaius的核心是複合配置。複合配置內部能夠包含多個配置,每一個配置讀取不一樣的配置源而且會定時拉取和更新數據。若是多個配置源中存在同一個配置,會使用最頂層的那個配置。

相關文章
相關標籤/搜索