Spring云配置服务器未刷新

Spring云配置服务器未刷新,spring,spring-cloud,Spring,Spring Cloud,我正在设置一个Spring云服务器来读取一个内部隐藏目录 服务器第一次加载正常,但如果我在git中更新属性,它们不会得到反映,直到我重新启动云服务器(我尝试POST to/refresh endpoint) 我在Windows上看到了一些与Windows上的服务器相关的bug,但我没有看到任何关于我的bug的具体提及。请参阅org.springframework.cloud.bootstrap.config.RefreshEndpoint 代码如下: public synchronized St

我正在设置一个Spring云服务器来读取一个内部隐藏目录

服务器第一次加载正常,但如果我在git中更新属性,它们不会得到反映,直到我重新启动云服务器(我尝试POST to/refresh endpoint)


我在Windows上看到了一些与Windows上的服务器相关的bug,但我没有看到任何关于我的bug的具体提及。

请参阅org.springframework.cloud.bootstrap.config.RefreshEndpoint 代码如下:

public synchronized String[] refresh() {
    Map<String, Object> before = extract(context.getEnvironment()
            .getPropertySources());
    addConfigFilesToEnvironment();
    Set<String> keys = changes(before,
            extract(context.getEnvironment().getPropertySources())).keySet();
    scope.refreshAll();
    if (keys.isEmpty()) {
        return new String[0];
    }
    context.publishEvent(new EnvironmentChangeEvent(keys));
    return keys.toArray(new String[keys.size()]);
}
公共同步字符串[]刷新(){
Map before=extract(context.getEnvironment()
.getPropertySources());
将配置文件添加到环境();
设置关键点=更改(之前,
提取(context.getEnvironment().getPropertySources()).keySet();
scope.refreshAll();
if(key.isEmpty()){
返回新字符串[0];
}
publishEvent(新环境变更事件(键));
返回keys.toArray(新字符串[keys.size()]);
}

这意味着/refresh endpoint首先拉git,然后刷新catch,并公开一个environmentChangeEvent,这样我们就可以像这样定制代码。

您是否试图在客户端上发布到
/refresh
?发布到配置服务器的刷新确定,发布
/refresh
仅在客户端上有意义。对
http://://
的每次调用都应该对git服务器进行新的调用。当然,由于数据过时,可能会出现一些windows问题。我收回了它-我现在正在使用start.spring下载的项目进行相同的测试,并且我看到了更改--linux和windows都在正常更新。我必须找出区别。