Author: ningjiang Date: Wed Mar 13 08:31:22 2013 New Revision: 1455839 URL: http://svn.apache.org/r1455839 Log: CAMEL-6026 added connectionTimeToLive option on the HttpComponnet
Modified: camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java Modified: camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java?rev=1455839&r1=1455838&r2=1455839&view=diff ============================================================================== --- camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java (original) +++ camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java Wed Mar 13 08:31:22 2013 @@ -19,6 +19,7 @@ package org.apache.camel.component.http4 import java.net.URI; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.camel.Endpoint; import org.apache.camel.ResolveEndpointFailedException; @@ -67,6 +68,8 @@ public class HttpComponent extends Heade // options to the default created http connection manager protected int maxTotalConnections = 200; protected int connectionsPerRoute = 20; + // It's MILLISECONDS, the default value is always keep alive + protected long connectionTimeToLive = -1; /** * Connects the URL specified on the endpoint to the specified processor. @@ -304,14 +307,15 @@ public class HttpComponent extends Heade protected ClientConnectionManager createConnectionManager() { SchemeRegistry schemeRegistry = new SchemeRegistry(); - - PoolingClientConnectionManager answer = new PoolingClientConnectionManager(schemeRegistry); + // setup the connection live time + PoolingClientConnectionManager answer = new PoolingClientConnectionManager(schemeRegistry, getConnectionTimeToLive(), TimeUnit.MILLISECONDS); if (getMaxTotalConnections() > 0) { answer.setMaxTotal(getMaxTotalConnections()); } if (getConnectionsPerRoute() > 0) { answer.setDefaultMaxPerRoute(getConnectionsPerRoute()); } + LOG.info("Created ClientConnectionManager " + answer); return answer; @@ -409,7 +413,15 @@ public class HttpComponent extends Heade public void setConnectionsPerRoute(int connectionsPerRoute) { this.connectionsPerRoute = connectionsPerRoute; } - + + public long getConnectionTimeToLive() { + return connectionTimeToLive; + } + + public void setConnectionTimeToLive(long connectionTimeToLive) { + this.connectionTimeToLive = connectionTimeToLive; + } + @Override public void doStart() throws Exception { super.doStart();