應(yīng)用程序?qū)⑹章燛nvironmentChangeEvent臭杰,并以幾種標(biāo)準(zhǔn)方式進行更改(用戶可以以常規(guī)方式添加ApplicationListeners附加ApplicationListeners)。當(dāng)觀察到EnvironmentChangeEvent時栓袖,它將有一個已更改的鍵值列表,應(yīng)用程序?qū)⑹褂靡韵聝?nèi)容:
重新綁定上下文中的任何@ConfigurationPropertiesbean
為logging.level.*中的任何屬性設(shè)置記錄器級別
請注意带到,配置客戶端不會通過默認(rèn)輪詢查找Environment中的更改绝淡,通常我們不建議檢測更改的方法(盡管可以使用@Scheduled注釋進行設(shè)置)。如果您有一個擴展的客戶端應(yīng)用程序患朱,那么最好將EnvironmentChangeEvent廣播到所有實例,而不是讓它們輪詢更改(例如使用Spring Cloud總線)炊苫。
EnvironmentChangeEvent涵蓋了大量的刷新用例裁厅,只要您真的可以更改Environment并發(fā)布事件(這些API是公開的,部分內(nèi)核為Spring)侨艾。您可以通過訪問/configprops端點(普通Spring Boot執(zhí)行器功能)來驗證更改是否綁定到@ConfigurationPropertiesbean执虹。例如,DataSource可以在運行時更改其maxPoolSize(由Spring Boot創(chuàng)建的默認(rèn)DataSource是一個@ConfigurationPropertiesbean)唠梨,并且動態(tài)增加容量声畏。重新綁定@ConfigurationProperties不會覆蓋另一大類用例,您需要更多的控制刷新姻成,并且您需要更改在整個ApplicationContext上是原子的插龄。為了解決這些擔(dān)憂,我們有@RefreshScope科展。
從現(xiàn)在開始均牢,我這邊會將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友才睹,希望可以幫助更多的好學(xué)者徘跪。大家來一起探討spring cloud架構(gòu)的搭建過程及如何運用于企業(yè)項目甘邀。