zoukankan      html  css  js  c++  java
  • 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内部类

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

    参考:

  • 相关阅读:
    JavaScript创建对象及对象继承
    Shell基础学习小结
    深入理解Java反射
    STL"源码"剖析-重点知识总结
    Java IO工作机制分析
    优先队列原理与实现
    CleanBlog(个人博客+源码)
    线性时间排序
    深入理解FTP协议
    Spring学习之AOP总结帖
  • 原文地址:https://www.cnblogs.com/huahua035/p/15592601.html
Copyright © 2011-2022 走看看