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内部类
一切真相了,这里就是我们的自定义配置项。。。
参考:的