HttpClient 3.1设置连接超时会降低响应速度

时间:2014-09-17 08:53:39

标签: java swing httpclient apache-commons-httpclient

在我的swing应用程序中,我使用HttpClient 3.1来执行Rest调用。大多数POST方法调用都需要4-5秒才能响应。我正在使用MultiThreadedHttpConnectionManager。我增加了默认的最大连接但仍然没有用。当我注释掉以下连接超时代码时,响应将在1秒内完成

httpClient.getParams().setParameter("http.connection.timeout", 5 * 1000);

当我注释掉上面一行时,不确定为什么响应时间会有所不同。这是正确的方法吗?如果我错了,请纠正我

FYI

HttpConnectionManager connMgr = new MultiThreadedHttpConnectionManager();
HttpConnectionManagerParams connMgrParams = new HttpConnectionManagerParams();
connMgrParams.setSoTimeout(30 * 1000);
connMgr.setParams(connMgrParams);
if (proxyPort.equalsIgnoreCase("8888")){
    httpClient.getHostConfiguration().setProxy(DEFAULT_HOST, 8888);
}
httpClient = new HttpClient(connMgr);
httpClient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false));
httpClient.getParams().setParameter("http.connection.timeout", 5 * 1000);

0 个答案:

没有答案