Return-Path: X-Original-To: apmail-hc-commits-archive@www.apache.org Delivered-To: apmail-hc-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4DC093A96 for ; Sat, 30 Apr 2011 11:12:16 +0000 (UTC) Received: (qmail 77184 invoked by uid 500); 30 Apr 2011 11:12:16 -0000 Delivered-To: apmail-hc-commits-archive@hc.apache.org Received: (qmail 77140 invoked by uid 500); 30 Apr 2011 11:12:16 -0000 Mailing-List: contact commits-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list commits@hc.apache.org Received: (qmail 77133 invoked by uid 99); 30 Apr 2011 11:12:16 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 Apr 2011 11:12:16 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 Apr 2011 11:12:13 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A77942388A39; Sat, 30 Apr 2011 11:11:51 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1098098 - in /httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http: client/params/ impl/client/ Date: Sat, 30 Apr 2011 11:11:51 -0000 To: commits@hc.apache.org From: olegk@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110430111151.A77942388A39@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olegk Date: Sat Apr 30 11:11:51 2011 New Revision: 1098098 URL: http://svn.apache.org/viewvc?rev=1098098&view=rev Log: Re-introduced timeout parameter for connection manager operations Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientPNames.java httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientParamBean.java httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/HttpClientParams.java httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientPNames.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientPNames.java?rev=1098098&r1=1098097&r2=1098098&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientPNames.java (original) +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientPNames.java Sat Apr 30 11:11:51 2011 @@ -126,5 +126,16 @@ public interface ClientPNames { */ public static final String DEFAULT_HOST = "http.default-host"; + /** + * Defines the timeout in milliseconds used when retrieving an instance of + * {@link org.apache.http.conn.ManagedClientConnection} from the + * {@link org.apache.http.conn.ClientConnectionManager}. + *

+ * This parameter expects a value of type {@link Long}. + *

+ * @since 4.2 + */ + public static final String CONN_MANAGER_TIMEOUT = "http.conn-manager.timeout"; + } Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientParamBean.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientParamBean.java?rev=1098098&r1=1098097&r2=1098098&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientParamBean.java (original) +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/ClientParamBean.java Sat Apr 30 11:11:51 2011 @@ -96,4 +96,11 @@ public class ClientParamBean extends Htt params.setParameter(ClientPNames.DEFAULT_HOST, host); } + /** + * @since 4.2 + */ + public void setConnectionManagerTimeout(final long timeout) { + params.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT, timeout); + } + } Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/HttpClientParams.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/HttpClientParams.java?rev=1098098&r1=1098097&r2=1098098&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/HttpClientParams.java (original) +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/params/HttpClientParams.java Sat Apr 30 11:11:51 2011 @@ -28,6 +28,7 @@ package org.apache.http.client.params; import org.apache.http.annotation.Immutable; +import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; /** @@ -93,4 +94,28 @@ public class HttpClientParams { params.setParameter(ClientPNames.COOKIE_POLICY, cookiePolicy); } + /** + * @since 4.2 + */ + public static void setConnectionManagerTimeout(final HttpParams params, long timeout) { + if (params == null) { + throw new IllegalArgumentException("HTTP parameters may not be null"); + } + params.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT, timeout); + } + + /** + * @since 4.2 + */ + public static long getConnectionManagerTimeout(final HttpParams params) { + if (params == null) { + throw new IllegalArgumentException("HTTP parameters may not be null"); + } + Long timeout = (Long) params.getParameter(ClientPNames.CONN_MANAGER_TIMEOUT); + if (timeout != null) { + return timeout.longValue(); + } + return HttpConnectionParams.getConnectionTimeout(params); + } + } Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java?rev=1098098&r1=1098097&r2=1098098&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java (original) +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java Sat Apr 30 11:11:51 2011 @@ -109,6 +109,7 @@ import org.apache.http.util.VersionInfo; *

  • {@link org.apache.http.client.params.ClientPNames#DEFAULT_HOST}
  • *
  • {@link org.apache.http.client.params.ClientPNames#DEFAULT_HEADERS}
  • *
  • {@link org.apache.http.client.params.ClientPNames#CONNECTION_MANAGER_FACTORY_CLASS_NAME}
  • + *
  • {@link org.apache.http.client.params.ClientPNames#CONN_MANAGER_TIMEOUT}
  • * * * @since 4.0 Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java?rev=1098098&r1=1098097&r2=1098098&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java (original) +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java Sat Apr 30 11:11:51 2011 @@ -126,6 +126,7 @@ import org.apache.http.util.EntityUtils; *
  • {@link org.apache.http.client.params.ClientPNames#VIRTUAL_HOST}
  • *
  • {@link org.apache.http.client.params.ClientPNames#DEFAULT_HOST}
  • *
  • {@link org.apache.http.client.params.ClientPNames#DEFAULT_HEADERS}
  • + *
  • {@link org.apache.http.client.params.ClientPNames#CONN_MANAGER_TIMEOUT}
  • * * * @since 4.0 @@ -360,8 +361,6 @@ public class DefaultRequestDirector impl RoutedRequest roureq = new RoutedRequest(origWrapper, origRoute); - long timeout = HttpConnectionParams.getConnectionTimeout(params); - boolean reuse = false; boolean done = false; try { @@ -387,6 +386,7 @@ public class DefaultRequestDirector impl ((AbortableHttpRequest) orig).setConnectionRequest(connRequest); } + long timeout = HttpClientParams.getConnectionManagerTimeout(params); try { managedConn = connRequest.getConnection(timeout, TimeUnit.MILLISECONDS); } catch(InterruptedException interrupted) {