广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    https请求超时怎么解决

    来源:网络收集  点击:  时间:2024-12-22
    【导读】:
    https请求超时怎么解决工具/原料morehttps方法/步骤1/3分步阅读

    当HttpParams params = new BasicHttpParams()设置连接超时时间,Integer CONNECTION_TIMEOUT = 2 * 1000; 设置请求超时2秒钟 根据业务调整。

    2/3

    然后Integer SO_TIMEOUT = 2 * 1000; //设置等待数据超时时间2秒钟 根据业务调整定义了当从ClientConnectionManager中检索ManagedClientConnection实例时使用的毫秒级的超时时间。这个参数期望得到一个java.lang.Long类型的值。如果这个参数没有被设置,默认等于CONNECTION_TIMEOUT,因此一定要设置。Long CONN_MANAGER_TIMEOUT = 500L; 该值就是连接不够用的时候等待超时时间,一定要设置,而且不能太大。

    3/3

    params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONNECTION_TIMEOUT)。params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, SO_TIMEOUT)。

    方法/步骤21/3

    params.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT, CONN_MANAGER_TIMEOUT)。在提交请求之前 测试连接是否可用。接着params.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, true)。

    2/3

    PoolingClientConnectionManager conMgr = new PoolingClientConnectionManager()。conMgr.setMaxTotal(200); 设置整个连接池最大连接数 根据自己的场景决定是路由的默认最大连接,该值默认为2,限制数量实际使用DefaultMaxPerRoute并非MaxTotal。

    3/3

    设置过小无法支持大并发,ConnectionPoolTimeoutException: Timeout waiting for connection from pool,路由是对maxTotal的细分。conMgr.setDefaultMaxPerRoute(conMgr.getMaxTotal());目前只有一个路由,因此让他等于最大值。另外设置http client的重试次数,默认是3次;当前是禁用掉。

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1229047.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 17:46:15  耗时:0.027
    0.0272s