httpclient 4.5.1---连接管理器
2016-03-27 21:50
459 查看
package com.cycore.dbs.common.util; import org.apache.http.HttpResponse; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ConnectionKeepAliveStrategy; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; /** * http客户端连接池管理类 * @author xiawq * */ public class HCManager { /** * 连接池管理器 */ private static PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(); /** * Http客户端 */ private static CloseableHttpClient client = null; /** *请求配置 */ private static RequestConfig requestConfig = null; static{ connManager.setDefaultMaxPerRoute(20);//为单路由设置默认最大并发连接数为50 if(requestConfig == null){ requestConfig=RequestConfig .custom() .setSocketTimeout(1000) .setConnectTimeout(1000) .build(); } } /** * 自定义连接保持存活策略:如果响应头中有Keep-Alive相关的timeout设置, * 则按Keep-Alive头中的timeout设定存活时间。不然默认为5秒。 */ private static ConnectionKeepAliveStrategy connKeepAliveStrategy = new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive = super.getKeepAliveDuration(response, context); if(keepAlive == -1){ keepAlive = 5*1000; } return keepAlive; } }; /** * 获取http客户端 * @return */ protected static CloseableHttpClient getClient() { if(client == null){ client = HttpClients.custom() .setConnectionManager(connManager) .setKeepAliveStrategy(connKeepAliveStrategy) .build(); } return client; } protected static RequestConfig getRequestConfig() { return requestConfig; } }
相关文章推荐
- 使用SOCKET实现TCP/IP协议的通讯
- httpclient 4.5.1---高级主题
- http请求的理解
- httpclient 4.5.1---状态管理
- httpclient 4.5.1---连接管理
- CCF 无线网络
- httpclient 4.5.1---流式API使用
- 网络的可靠性(nyoj)
- httpclient 4.5.1---基础
- TCP/IP
- 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
- 使用java进行http通信
- Linux网络配置
- Bzoj 1391: [Ceoi2008]order 网络流,最大权闭合图
- 网络基础概述
- ASIHTTPRequest框架使用总结系列
- 计算机网络--学习笔记
- 卷积神经网络Convolutional Neural Networks
- 斯坦福大学卷积神经网络教程UFLDL Tutorial - Convolutional Neural Network
- iOS访问https ssl和tls双向加密