HttpClient连接池的配置

public class HttpUtil {
    private PoolingHttpClientConnectionManager cm;
    private  CloseableHttpClient httpClient;
    private RequestConfig requestConfig;
    //将请求连接池设置为单例
    private static class SingletonCreater{
        private static final HttpUtil httpUtil = new HttpUtil();
    }
    public static final HttpUtil getInstance(){
        return SingletonCreater.httpUtil;
    }




    private HttpUtil() {
         cm = new PoolingHttpClientConnectionManager();
        //连接池最大生成连接数
        cm.setMaxTotal(800);
        // 默认设置route最大连接数
        cm.setDefaultMaxPerRoute(800);
        // 指定专门的route,设置最大连接数,因为IP只有一个,不需要设置指定IP的最大连接数量
        // HttpHost localhost = new HttpHost("locahost", 80);
        // cm.setMaxPerRoute(new HttpRoute(localhost), 50);
        // 设置重定向策略
//        LaxRedirectStrategy redirectStrategy = new LaxRedirectStrategy();
        //设置请求和传输超时时间
        requestConfig = RequestConfig.custom()
                .setConnectionRequestTimeout(600000)
                .setConnectTimeout(FinalCode.REQUEST_TIMEOUT)
                .setSocketTimeout(FinalCode.REQUEST_SOCKET_TIME).build();
        // 创建httpClient
         httpClient= HttpClients.custom()
                .setConnectionManager(cm)
                 .setDefaultRequestConfig(requestConfig)
//                .setRedirectStrategy(redirectStrategy)
                .build();


    }

    public CloseableHttpClient getHttpClient() {
        return httpClient;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值