背景
Spring Cloud 提供了创建云就绪微服务所需的所有工具。 Spring-Cloud 提供的基础结构组件之一是用于集中应用程序属性的配置服务器,但是您可能正在使用其他解决方案来管理属性。一个这样的解决方案是 Netflix Archaius ,如果你使用 Netflix Archaius,Spring-Cloud 提供了一种与之集成的巧妙方法。
与 Archaius 整合
Spring Cloud 为 Archaius 提供了一个 Spring Boot 自动配置 ,它会在应用程序找到与 Archaius 相关的库时触发。所以首先要引入 Archaius 库,这可以通过 POM 文件中的以下依赖项来完成:
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
</dependency>
并不是不需要指定依赖项的版本,此信息来自父 POM 中的依赖项管理信息。
有了这个新库 Archaius Configuration,现在需要做的就是定义扩展 Apache Commons Configuration AbstractConfiguration 类的 Spring beans,这些将由 Spring Cloud 自动配置。作为示例,请考虑以下具有一个属性的 AbstractConfiguration:
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
</dependency>
基本上就是这样,这个属性现在应该作为 Archaius 属性可见,并且可以通过以下方式访问:
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
</dependency>
Spring-Cloud 中的 Archaius 集成还提供了一些更简洁的功能:
- Spring 托管属性作为 Archaius 属性可见
- Spring-Cloud提供了一个端点(/archaius),可以查看所有注册的archaius属性
结论
Spring Cloud 原生提供了编写 Cloud Ready 微服务的所有工具,但是配置集中属性的方式可能是通过 Netflix Archaius,如果是这种情况,Spring Cloud 支持这种巧妙的方式与 Archiaus 集成。