feign.RetryableException: Read timed out


产线异常如下:

 

很明显,告诉我们读超时了,需要涉及feign的读超时时间,顺带阅读下源码:

根据如上的堆栈信息,直接打开SynchronousMethodHandler.java 看104行 (FeignException.java不用看,很明显是个包装的exception)

 查看option在当前类中如何初始化的

 右键构造函数,find usage

 原来是当前类的静态内部类

 

 如法炮制,继续查看谁调用该静态内部类的create方法:

 继续查看 ReflectiveFeign中 option的初始化在哪,又一个静态内部类

 继续查看静态内部类的构造函数是谁调用的

  找到大本营了,原来是Feign中build方法调用的,继续查看该options的初始化

 首先,它有默认值:默认链接超时10S,读超时60S

 其次,谁可以给它set值:查看谁可以调用给方法重置option值

 如下类中有2个:

 查看configureUsingProperties方法:

 

 重点看FeignClientProperties.FeignClientConfiguration内部类

 

 一切真相了,这里就是我们的自定义配置项。。。

 

参考:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM