2016-01-13 61 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