產線異常如下:
很明顯,告訴我們讀超時了,需要涉及feign的讀超時時間,順帶閱讀下源碼:
根據如上的堆棧信息,直接打開SynchronousMethodHandler.java 看104行 (FeignException.java不用看,很明顯是個包裝的exception)
查看option在當前類中如何初始化的
右鍵構造函數,find usage
原來是當前類的靜態內部類
如法炮制,繼續查看誰調用該靜態內部類的create方法:
繼續查看 ReflectiveFeign中 option的初始化在哪,又一個靜態內部類
繼續查看靜態內部類的構造函數是誰調用的
找到大本營了,原來是Feign中build方法調用的,繼續查看該options的初始化
首先,它有默認值:默認鏈接超時10S,讀超時60S
其次,誰可以給它set值:查看誰可以調用給方法重置option值
如下類中有2個:
查看configureUsingProperties方法:
重點看FeignClientProperties.FeignClientConfiguration內部類
一切真相了,這里就是我們的自定義配置項。。。
參考:的