應用程序將收聽EnvironmentChangeEvent
,並以幾種標準方式進行更改(用戶能夠以常規方式添加ApplicationListeners
附加ApplicationListeners
)。當觀察到EnvironmentChangeEvent
時,它將有一個已更改的鍵值列表,應用程序將使用如下內容:git
從新綁定上下文中的任何@ConfigurationProperties
beangithub
爲logging.level.*
中的任何屬性設置記錄器級別spring
請注意,配置客戶端不會經過默認輪詢查找Environment
中的更改,一般咱們不建議檢測更改的方法(儘管可使用@Scheduled
註釋進行設置)。若是您有一個擴展的客戶端應用程序,那麼最好將EnvironmentChangeEvent
廣播到全部實例,而不是讓它們輪詢更改(例如使用Spring Cloud總線)。架構
EnvironmentChangeEvent
涵蓋了大量的刷新用例,只要您真的能夠更改Environment
併發布事件(這些API是公開的,部份內核爲Spring)。您能夠經過訪問/configprops
端點(普通Spring Boot執行器功能)來驗證更改是否綁定到@ConfigurationProperties
bean。例如,DataSource
能夠在運行時更改其maxPoolSize
(由Spring Boot建立的默認DataSource
是一個@ConfigurationProperties
bean),而且動態增長容量。從新綁定@ConfigurationProperties
不會覆蓋另外一大類用例,您須要更多的控制刷新,而且您須要更改在整個ApplicationContext
上是原子的。爲了解決這些擔心,咱們有@RefreshScope
。併發
從如今開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,但願能夠幫助更多的好學者。你們來一塊兒探討spring cloud架構的搭建過程及如何運用於企業項目。框架