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