2016-01-13 67 views
0

我的组织使用内部构建的集中式应用程序配置服务,其性质与新的Spring Cloud Config服务器非常相似(但与我们的云基础架构紧密集成)。该服务提供物业采购,物业变更通知等。但是,它并未提供与Spring的完整集成。将“专有”配置服务器与Spring Boot/Cloud集成

我想:

  1. 杠杆在我的春节,启动应用程序作为 PropertySource这种内部服务。
  2. 利用新的@RefreshScope代理 功能,使属性更改反映系统与 至少大惊小怪。

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

回答

0

我已经完成了你所说的两个春季云计划的部分内容,包括spring-cloud-consul和spring-cloud-zookeeper。

你可以看到一个示例实现in spring-cloud-consul。它使用来自spring-cloud-commons的BootstrapConfiguration(它给你@RefreshSchope btw),它允许你插入PropertySources到弹簧Environment

+0

非常好。所以当我收到一个推送通知并想触发刷新时,我认为这只是调用RefreshScope.refreshAll()的问题?我不认为Spring有任何属性 - > bean依赖跟踪魔术,这将帮助我定位一组受影响的bean? – laphroaig

+0

没有那样的魔法。 – spencergibb

+0

刷新也适用。由于属性定位器是在引导阶段配置的,我必须为刷新创建单独的自动配置才能注入RefreshScope。花了我一段时间来弄清楚这一点。 – laphroaig