httpclient连接池管理,你用对了?( 二 )


知识扩展:自http1.1后,http默认支持keep-alive 。对于Tomcat服务器默认保持客户端的链接60s,我们httpclient这边也可以设置链接存活时间,最终链接的存活时间是取两者中最小的 。
对于过期链接的处理,当Tomcat主动关闭链接时,httpclient 4.4之前是每次在复用链接前进行检查链接是否可用,http4.4后,是自上次使用连接以来所经过的时间超过已设置的超时时(默认超时设置为2000ms),才检查连接 。如果发现链接不可用,则从链接池剔除,在创建新的链接 。
当客户端设置的TTL到期时(此时Tomcat容器没有主动关闭链接时),在每次发起请求时,会检查链接是否已经过期,如果过期(虽然链接本身是可以用的),则也主动关闭链接,然后从链接池剔除,在创建新的链接 。
另外我们可以实现自己的
ConnectionKeepAliveStrategy来给不同的域名设置不同的链接存活策略 。

【httpclient连接池管理,你用对了?】


推荐阅读