问题
在学习spring cloud使用/refresh手动刷新配置时,配置没有刷新 -> 本地缓存配置没有刷新。
具体描述
在学习spring cloud使用/refresh手动刷新配置时,敲完所有代码,在CMD中请求
curl -X POST http://localhost:8081/actuator/refresh 回车,"正常返回"一对中括号,
然后在浏览器中请求,http://localhost:8081/profile并没有出现预计的刷新效果。
出现上述问题后各种百度,并没有找到答案,重试了N次,准备放弃跳入下一个环节时,在请求一把,居然就成功了。。。。
然后回顾一下整个刚才操作的过程,在看过一篇日志之后,猛然明白。
被该问题阻断N个小时,其实现在回顾,还是解决方式有问题,没有认真仔细看过整个过程中的日志打印。刚开始看到client服务器打印的日志是这样的

以为从服务器端已经请求了刷新后的文件,但是又发现下面的


大概看了一眼,视乎是对的呀,感觉完全没问题,以为本地缓存也是重新请求了,并且刷新了的,然后搜索到本地的缓存文件,发现本地缓存并没有更新。。。
似乎离真相又近了一步,然后又开始各种百度为啥本地缓存不刷新。。。结果也是没啥收获。到最后偶然间刷新居然成功了,然后回过头再去看之前打印的日志,其实漏掉了最最关键的一句日志,

这句日志已经提示的很明显了,不能获取远程的资源,于是乎又多次请求curl -X POST http://localhost:8081/actuator/refresh接口,直到有具体的返回信息,eg:
["config.client.version","profile"],并且config-server服务打印如下日志:
Fetched for remote master and found 1 updates
Adding property source: file:/C:/Users/.../AppData/Local/Temp/config-repo-2095891264603201827/microservice-foo-dev.properties
Adding property source: file:/C:/Users/.../AppData/Local/Temp/config-repo-2095891264603201827/microservice-foo.properties
最终验证就是网络原因导致不能获取远程资源,导致本地缓存配置不能更新。
最后,吐槽一下https://github.com,访问实在是慢、慢、慢。。。
经验总结
其实有些问题,先仔细阅读一遍打印的日志,或许就能直接找到答案,并不需要时常百度。
网友评论