原文:http://blog.csdn.net/qq_18675693/article/details/53337941
微服務:spring-cloud-archaius 起步
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,即自己設計動態屬性配置方案。