HttpComponents中如何使用HttpClient连接池
今天就跟大家聊聊有关HttpComponents中如何使用HttpClient连接池,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

10年积累的成都做网站、成都网站设计、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有阿巴嘎免费网站建设让你可以放心的选择与我们合作。
对于 httpclient 连接池使用一般考虑以下几点:
向连接池申请连接的超时时间
连接建立的超时时间,即 socket 进行 3 次握手建立连接的超时时间
连接超时时间,即 socket 读写超时时间
设置最大 redirect 次数
是否开启可用性检查
global 连接池中最大的连接数
individual route 连接池中最大的连接数
请求重试次数
设置ssl 请求的证书 trust 策略和 cn host name 验证策略
开启对于空闲连接以及过期连接的清理,设置空闲连接的时长
是否重用池化对象以及使用长连接
我们通过如下代码设置上述 items :
RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(10000)//设置连接池申请连接的超时时间,默认-1为无限时间.setConnectTimeout(5000)//设置socket进行3次握手建立连接的超时时间.setSocketTimeout(8000)//设置连接超时时间,即socket读写超时时间.setMaxRedirects(50)//设置最大的redirect次数,默认为50.setStaleConnectionCheckEnabled(Boolean.TRUE)//设置开启可用性检查,默认不开启.build();CloseableHttpClient htttpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).setMaxConnPerRoute(50)//设置individual route连接池中最大的连接数,默认为2.setMaxConnTotal(500)//设置global连接池中最大的连接数,默认为20.setConnectionTimeToLive(-1, TimeUnit.MICROSECONDS)//设置连接池中连接存活时间,默认-1代表无限存活,连接使用之后由response header "Keep-Alive: timeout"决定。.evictIdleConnections(60000, TimeUnit.MILLISECONDS)//开启空袭连接清理线程,设置连接池中连接最大空闲时间,以及连接清理线程的sleep时间,默认为10秒.evictExpiredConnections()//开启过期连接清理线程,过期时间默认为-1,连接使用后由response header "Keep-Alive: timeout"决定。//.setRetryHandler(retryHandler)//设置重试策略,默认3次重试//.setSSLContext(sslContext)//设置ssl请求上下文//.setSSLHostnameVerifier(hostnameVerifier)//设置ssl证书cn host name验证策略,默认为验证cn host name.build();
看完上述内容,你们对HttpComponents中如何使用HttpClient连接池有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
当前标题:HttpComponents中如何使用HttpClient连接池
路径分享:http://www.jxjierui.cn/article/pdheeo.html


咨询
建站咨询
