我正在设置一个 Spring 云服务器来读取内部 Stash 目录。
服务器第一次加载,但如果我更新 git 中的属性,它们不会得到反映,直到我重新启动云服务器(我尝试 POST 到 /refresh 端点)。
我使用的是 Windows,我看到一些与 Windows 上的服务器相关的错误,但我没有看到任何具体提及我的错误。
请参阅 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()]);
}
这意味着/refresh端点先拉git,然后刷新catch,并公开一个environmentChangeEvent,这样我们就可以像这样使用代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)