HttpClient连接池管理器

HttpClient连接池管理器

public class HttpClientConnection {

    private static PoolingHttpClientConnectionManager manager;

    static {
        SSLContextBuilder builder = new SSLContextBuilder();
        try {
            builder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
            SSLConnectionSocketFactory sslSf;
            sslSf = new SSLConnectionSocketFactory(builder.build());

            // 配置同时支持 HTTP 和 HTTPS
            Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
                    .register(AllConstant.HTTP, PlainConnectionSocketFactory.getSocketFactory())
                    .register(AllConstant.HTTPS, sslSf).build();
            manager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
            //设置最大连接数
            manager.setMaxTotal(100);
            //设置最大主机连接数
            manager.setDefaultMaxPerRoute(10);
        } catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException e) {
            e.printStackTrace();
        }
    }

    public static CloseableHttpClient getHttpClientConnection() {
        //设置超时时间
        RequestConfig requestconfig = RequestConfig.custom()
                .setConnectTimeout(AllConstant.HTTP_CONNECT_TIME_OUT)
                .setConnectionRequestTimeout(AllConstant.HTTP_CONNECTION_REQUEST_TIME_OUT)
                .setSocketTimeout(AllConstant.HTTP_SOCKET_TIME_OUT).build();
        return HttpClients.custom()
                // 设置连接池管理
                .setConnectionManager(manager)
                .setDefaultRequestConfig(requestconfig)
                // 设置重试次数
                .setRetryHandler(new DefaultHttpRequestRetryHandler(AllConstant.RETRY_COUNT, false)).build();
    }

}

Test

第一次从连接池获取HttpClient
在这里插入图片描述
第二次从连接池获取HttpClient
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值