18. 外部 Configuration:Archaius
Archaius是 Netflix client 端 configuration library。它是所有 Netflix OSS 组件用于 configuration 的 library。 Archaius 是Apache Commons _Configuration项目的扩展。它允许通过轮询源更改或源将更改推送到 client 来更新 configuration。 Archaius 使用 Dynamic <Type> Property classes 作为 properties 的句柄。
Archaius Example.
class ArchaiusTest {
DynamicStringProperty myprop = DynamicPropertyFactory
.getInstance()
.getStringProperty("my.prop");
void doSomething() {
OtherClass.someMethod(myprop.get());
}
}
Archaius 有自己的 configuration files 和 loading 优先级。 Spring applications 通常不应该直接使用 Archaius,但仍需要自行配置 Netflix 工具。 Spring Cloud 有一个 Spring Environment Bridge,所以 Archaius 可以从 Spring 环境中读取 properties。这允许 Spring Boot 项目使用普通的 configuration 工具链,同时允许他们配置 Netflix 工具,大多数情况下,如文档所述。