背景:最近换到新公司,之前一直用的dubbo的那一套rpc框架,现在需要重新学习OpenFeign。在B站找的尚硅谷的springcloud课程,该课程简单明了的说明了springcloud的使用及一些原理。但是,当本人学习到OpenFeign的超时时间控制的时候,代码执行效果与课程中的内容产生了冲突,百度寻找也都是一些不着边际的文字。在将该问题解决后,特将该问题记录一下,免得别人遇到同样的问题也不知道如何解决。
首先,本人代码中设置的两个超时时间都没有大于8000ms的但是代码执行调用超时后的结果却是大于8000ms
本人经过好几次调用后确认,这个超时时间一直保持在8100ms左右,这就说明,service-product 的FeignClient超时时间的配置是生效了,但是有莫名的原因导致又发起了一次调用,而二次调用的细节并没有在日志中打印出来。只是把两次调用的超时时间加在一起计算了一个总结果。再看被调用方的日志,日志确实被打印了两次
然后,本人开始各种问AI或者百度,但并没有找到想要的。开始自己debug OpenFeign的源码。最后在这里发现有点门道
然后一路跟着指引来到这里
最后在这里发现一毛一样
然后,不废话,先修改配置文件试试
然后重启应用,发起重新调用,超时时间来到4100ms,看来配置是生效了。
本人并不知道,为什么在课程中的雷锋杨老师没遇到这种问题。不过问题解决就OK了。