【问题标题】:Integrating "proprietary" configuration server with Spring Boot/Cloud将“专有”配置服务器与 Spring Boot/Cloud 集成
【发布时间】:2016-04-19 00:18:34
【问题描述】:

我的组织使用内部构建的集中式应用程序配置服务,其性质与新的 Spring Cloud Config 服务器非常相似(但与我们的云基础架构紧密集成)。此服务提供属性采购、属性更改通知等。但是,它不提供与 Spring 的干净集成。

我想:

  1. 在我的 Spring Boot 应用程序中利用此内部服务作为 属性来源。
  2. 利用新的@RefreshScope 代理 能力,使属性变化反映在系统中 大惊小怪。

鉴于我没有向配置服务添加 Spring Cloud Config 服务器外观的选项,将实现上述两个目标的 Spring Boot/Cloud 集成的最简洁点是什么?

【问题讨论】:

    标签: spring-boot spring-cloud


    【解决方案1】:

    作为两个 spring-cloud 项目 spring-cloud-consul 和 spring-cloud-zookeeper 的一部分,我已经完成了你所说的。

    您可以看到一个示例实现in spring-cloud-consul。它使用 spring-cloud-commons 中的 BootstrapConfiguration(它为您提供 @RefreshSchope btw),它允许您将 PropertySources 插入到 spring Environment 中。

    【讨论】:

    • 非常好。因此,当我收到推送通知并想要触发刷新时,我认为这只是调用 RefreshScope.refreshAll() 的问题?我不认为 Spring 有任何属性 -> bean 依赖跟踪魔法可以帮助我定位最小的受影响 bean 集?
    • 刷新也可以。因为属性定位器是在引导阶段配置的,所以我必须为刷新创建单独的自动配置才能注入 RefreshScope。我花了一段时间才弄明白。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2022-11-17
    • 2017-09-07
    • 2014-12-20
    • 2016-04-22
    • 2017-09-13
    • 2017-07-25
    相关资源
    最近更新 更多