已刷新环境中的配置,但不在@ConfigurationProperty Bean中

已刷新环境中的配置,但不在@ConfigurationProperty Bean中,configuration,spring-boot,spring-cloud,Configuration,Spring Boot,Spring Cloud,我有一个bean正在收听ApplicationEvent 同一个bean还引用了一个属性bean,比如SysConfig(具有@ConfigurationProperties的bean实例) 我发出一个刷新端点(/refresh)的调用 在ApplicationEvent(EnvironmentChangeEvent evt)中期望刷新/重新索引的SysConfig bean正确吗 我没有在事件处理方法中获得刷新/重新索引的属性bean。但是Environment.getProperty()反映

我有一个bean正在收听
ApplicationEvent
同一个bean还引用了一个属性bean,比如SysConfig(具有
@ConfigurationProperties
的bean实例)

我发出一个刷新端点(/refresh)的调用

在ApplicationEvent(EnvironmentChangeEvent evt)中期望刷新/重新索引的SysConfig bean正确吗

我没有在事件处理方法中获得刷新/重新索引的属性bean。但是
Environment.getProperty()
反映了更改

是因为我的事件处理程序是在
ConfigurationPropertiesRebinder
事件处理程序之前调用的吗

如何解决这个问题?我需要刷新SysConfig属性bean


版本:spring v4.1.6,boot v1.2.3,cloud config v1.0.1

这类似于吗?我想你需要在你的
系统配置
@Stéphanenicol上添加
@RefreshScope
,配置属性bean应该已经自动进入
RefreshScope
,对吗?我们需要显式注释它吗?我用
@RefreshScope
显式注释了SysConfig。还是没有变化。And/beans端点表示SysConfig在单例范围内。这就是它的工作原理吗?@StéphaneNicoll我通过调用
ConfigurationPropertiesRebinder.rebind
成功地更新了
SysConfig
。不确定这是不是正确的方法