spring云刷新配置属性

spring云刷新配置属性,spring,refresh,spring-cloud,endpoints,configurationproperties,Spring,Refresh,Spring Cloud,Endpoints,Configurationproperties,我想重新绑定ConfigurationProperties数据。请阅读用户文档。 posthttp://localhost:8080/env,它正在工作。 但是posthttp://localhost:8080/env/reset,无法刷新所有配置。 只能刷新访问过/env的密钥。 我想刷新所有配置,我应该怎么做 将键值对发布到/env将触发重新绑定。 如果managerpropertysource不为空,则过帐到/env/reset也将触发 如果您不是通过发布/env来更新环境,则可以使用en

我想重新绑定
ConfigurationProperties
数据。请阅读用户文档。
posthttp://localhost:8080/env
,它正在工作。 但是
posthttp://localhost:8080/env/reset
,无法刷新所有配置。 只能刷新访问过
/env
的密钥。 我想刷新所有配置,我应该怎么做


将键值对发布到
/env
将触发
重新绑定。
如果
manager
propertysource不为空,则过帐到
/env/reset
也将触发

如果您不是通过发布
/env
来更新环境,则可以使用endpoint
/refresh

@ManagedOperation
public Map<String, Object> reset() {
    Map<String, Object> result = new LinkedHashMap<String, Object>(map);
    if (!map.isEmpty()) {
        map.clear();
        publish(new EnvironmentChangeEvent(publisher, result.keySet()));
    }
    return result;
}

@ManagedOperation
public void setProperty(String name, String value) {

    if (!environment.getPropertySources().contains(MANAGER_PROPERTY_SOURCE)) {
        synchronized (map) {
            if (!environment.getPropertySources().contains(MANAGER_PROPERTY_SOURCE)) {
                MapPropertySource source = new MapPropertySource(
                        MANAGER_PROPERTY_SOURCE, map);
                environment.getPropertySources().addFirst(source);
            }
        }
    }

    if (!value.equals(environment.getProperty(name))) {
        map.put(name, value);
        publish(new EnvironmentChangeEvent(publisher, Collections.singleton(name)));
    }

}
@ManagedOperation
公共地图重置(){
映射结果=新LinkedHashMap(映射);
如果(!map.isEmpty()){
map.clear();
发布(新环境变更事件(发布者,result.keySet());
}
返回结果;
}
@管理操作
公共void setProperty(字符串名称、字符串值){
如果(!environment.getPropertySources().包含(MANAGER\u PROPERTY\u SOURCE)){
同步(地图){
如果(!environment.getPropertySources().包含(MANAGER\u PROPERTY\u SOURCE)){
MapPropertySource=新的MapPropertySource(
经理(财产来源,地图);
environment.getPropertySources().addFirst(源);
}
}
}
如果(!value.equals(environment.getProperty(name))){
map.put(名称、值);
发布(new Environment ChangeEvent(publisher,Collections.singleton(name));
}
}

谢谢您的回复<代码>/执行器/刷新