我正在设置Spring云服务器以读取内部Stash目录。
服务器第一次加载ok,但是如果我在git中更新属性,那么在重新启动云服务器之前它们就不会反映出来(我尝试POST到/刷新端点)。
我在Windows上,我在Windows上看到了一些与服务器相关的错误,但我没有看到任何具体提到我的错误。
答案 0 :(得分:1)
请参阅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()]);
}
这意味着/刷新端点首先拉git然后刷新catch,并公开一个environmentChangeEvent,这样我们就可以像这样为客户提供代码。