应用程序将收听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架构的搭建过程及如何运用于企业项目。框架