在使用PoolingHttpClientConnectionManager时,第一次调用总是很慢吗?

问题描述

我正在使用PoolingHttpClientConnectionManager,但是第一次调用url时,我的响应速度为1000ms,但是下一次调用时间减少为200ms,300ms,500ms?

init:

PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
// Increase max total connection
connManager.setMaxTotal(maxTotalConnections);
// Increase default max connection per route
connManager.setDefaultMaxPerRoute(maxConnectionsPerRoute);

// config timeout
RequestConfig config = RequestConfig.custom().setConnectTimeout(connectTimeout)
        .setConnectionRequestTimeout(waitTimeout).setSocketTimeout(readTimeout).build();

String proxyH = System.getProperty("https.proxyHost");
int proxyP = Integer.parseInt(System.getProperty("https.proxyPort"));

CloseableHttpClient httpClient = HttpClients.custom().setKeepAliveStrategy(keepAliveStrategy).setConnectionManager(connManager)
            .setDefaultRequestConfig(config).setProxy(new HttpHost(proxyH,proxyP)).build();

发送doPost:

    try {
        StringEntity requestEntity = new StringEntity(this.reqData,DEFAULT_CHARSET);
        postMethod = new HttpPost(url);
        postMethod.setEntity(requestEntity);
        response = execute(postMethod);

        int statusCode = response.getStatusLine().getStatusCode();
        SimpleHttpResponse simpleResponse = new SimpleHttpResponse();
        simpleResponse.setStatusCode(statusCode);
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            String ctype = "application/json; charset=UTF-8";
            String charset = getResponseCharset(ctype);
            String content = EntityUtils.toString(entity,charset);

            simpleResponse.setContent(content);
        }
        EntityUtils.consume(entity);
        String respData = simpleResponse.getContent();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        postMethod.releaseConnection();
        if (response != null) {
            try {
                response.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

感谢查看。请帮帮我!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...