微服務:spring-cloud-archaius 起步

weixin_33816946發表於2018-03-16

原文:http://blog.csdn.net/qq_18675693/article/details/53337941

 

 

微服務:spring-cloud-archaius 起步

原創 2016年11月25日 18:13:05
  • 4596

Archaius是什麼? 
一句話:可以動態的管理屬性配置檔案。使用相關的API使用屬性就可以實現動態的數性載入。 
參考自Getting-Started

* 引入專案中*

<dependency>
  <groupId>com.netflix.archaius</groupId>
  <artifactId>archaius-core</artifactId>
  <version>0.6.0</version>
 </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

使用本地配置檔案作為配置源

  • 預設的,Archaius將查詢classpath下名為config.properties檔案並讀取,這個配置檔案可以使包含在一個jar包的根路徑下。
  • 另外,你可以使用屬性archaius.configurationSource.additionalUrls來包含url形式的檔案,多個檔案用逗號分割。

可以使用下面的API在程式中得到你需要的屬性

 // create a property whose value is type long and use 1000 as the default 
  // if the property is not defined
  DynamicLongProperty timeToWait = 
      DynamicPropertyFactory.getInstance().getLongProperty("lock.waitTime", 1000);
  // ...
  ReentrantLock lock = ...;
  // ...
  lock.tryLock(timeToWait.get(), TimeUnit.MILLISECONDS); // timeToWait.get() returns up-to-date value of the property    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

預設的:Archaius會每一分鐘去重新載入下屬性配置 
注意:配置多屬性檔案時的屬性覆蓋,最後讀到的屬性會覆蓋前面相同的屬性

列出我們可以修改的一些系統屬性

Operation HTTP action Notes
archaius.configurationSource.defaultFileName 指定Archaius預設載入的配置源屬性檔名,預設:classpath:config.properties config.properties
archaius.fixedDelayPollingScheduler.initialDelayMills 延遲載入,預設30秒 30000
archaius.fixedDelayPollingScheduler.delayMills 兩次屬性讀取時間間隔,預設1分鐘 60000

高階使用:自定義configuration source和polling scheduler,即自己設計動態屬性配置方案。

 
 

相關文章