You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2011/08/23 13:32:55 UTC
svn commit: r1160635 [1/2] - in /httpcomponents/httpclient/trunk: ./
httpclient-benchmark/
httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/
httpclient-cache/src/main/java/org/apache/http/client/cache/
httpclient-cache/src/main/java/...
Author: olegk
Date: Tue Aug 23 11:32:53 2011
New Revision: 1160635
URL: http://svn.apache.org/viewvc?rev=1160635&view=rev
Log:
Redesigned connection management code based on HttpCore 4.2 API (merged from conn-mgmt-redesign branch)
Added:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java
- copied unchanged from r1160573, httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/HttpPoolEntry.java
- copied unchanged from r1160573, httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/main/java/org/apache/http/impl/conn/HttpPoolEntry.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/ManagedClientConnectionImpl.java
- copied unchanged from r1160573, httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/main/java/org/apache/http/impl/conn/ManagedClientConnectionImpl.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java
- copied unchanged from r1160573, httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ConnPoolBench.java
- copied unchanged from r1160573, httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/test/java/org/apache/http/impl/conn/ConnPoolBench.java
Removed:
httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java
httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java
Modified:
httpcomponents/httpclient/trunk/ (props changed)
httpcomponents/httpclient/trunk/httpclient-benchmark/pom.xml
httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java
httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java
httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestNingHttpClient.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/HttpCacheStorage.java (props changed)
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCacheStorage.java (props changed)
httpcomponents/httpclient/trunk/httpclient-contrib/src/main/java/org/apache/http/contrib/auth/BouncySpnegoTokenGenerator.java (props changed)
httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientEvictExpiredConnections.java
httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientMultiThreadedExecution.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/methods/AbortableHttpRequest.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/conn/routing/HttpRoute.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPoolEntry.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPooledConnAdapter.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/SingleClientConnManager.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/AbstractConnPool.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntry.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RouteSpecificPool.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThread.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/client/utils/TestURLEncodedUtils.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionAutoRelease.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionReuse.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestContentCodings.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestRequestRetryHandler.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestStatefulConnManagement.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ExecReqThread.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/GetConnThread.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestDefaultResponseParser.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestIdleConnectionEviction.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestSCMWithServer.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMNoServer.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMWithServer.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/AwaitThread.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestConnPoolByRoute.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestSpuriousWakeup.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestWaitingThread.java
httpcomponents/httpclient/trunk/httpclient/src/test/resources/test.keystore (props changed)
httpcomponents/httpclient/trunk/pom.xml
httpcomponents/httpclient/trunk/src/docbkx/resources/ (props changed)
httpcomponents/httpclient/trunk/src/site/apt/ntlm.apt (props changed)
Propchange: httpcomponents/httpclient/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1,4 +1,5 @@
/httpcomponents/httpclient/branches/4.0.x:950681-950688
/httpcomponents/httpclient/branches/4.1.x:1079518-1080165
/httpcomponents/httpclient/branches/branch_4_1:755593-811107
+/httpcomponents/httpclient/branches/conn-mgmt-redesign:1154913-1160573
/httpcomponents/httpclient/branches/notice-plugin-test:1024348-1031454
Modified: httpcomponents/httpclient/trunk/httpclient-benchmark/pom.xml
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-benchmark/pom.xml?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-benchmark/pom.xml (original)
+++ httpcomponents/httpclient/trunk/httpclient-benchmark/pom.xml Tue Aug 23 11:32:53 2011
@@ -60,12 +60,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>4.1.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
@@ -98,7 +92,7 @@
<dependency>
<groupId>com.ning</groupId>
<artifactId>async-http-client</artifactId>
- <version>1.5.0</version>
+ <version>1.6.4</version>
<scope>compile</scope>
</dependency>
</dependencies>
Modified: httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java Tue Aug 23 11:32:53 2011
@@ -42,7 +42,7 @@ import org.apache.http.conn.scheme.Schem
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
@@ -52,7 +52,7 @@ import org.apache.http.util.VersionInfo;
public class TestHttpClient4 implements TestHttpAgent {
- private final ThreadSafeClientConnManager mgr;
+ private final PoolingClientConnectionManager mgr;
private final DefaultHttpClient httpclient;
public TestHttpClient4() {
@@ -71,7 +71,7 @@ public class TestHttpClient4 implements
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));
- this.mgr = new ThreadSafeClientConnManager(schemeRegistry);
+ this.mgr = new PoolingClientConnectionManager(schemeRegistry);
this.httpclient = new DefaultHttpClient(this.mgr, params);
this.httpclient.setHttpRequestRetryHandler(new HttpRequestRetryHandler() {
Modified: httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java Tue Aug 23 11:32:53 2011
@@ -27,11 +27,13 @@ package org.apache.http.client.benchmark
import java.io.IOException;
import java.io.InputStream;
-import java.net.Socket;
import java.net.URI;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
import org.apache.http.ConnectionReuseStrategy;
import org.apache.http.HeaderIterator;
+import org.apache.http.HttpClientConnection;
import org.apache.http.HttpEntity;
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
@@ -41,7 +43,8 @@ import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.DefaultConnectionReuseStrategy;
-import org.apache.http.impl.DefaultHttpClientConnection;
+import org.apache.http.impl.pool.BasicConnPool;
+import org.apache.http.impl.pool.BasicPoolEntry;
import org.apache.http.message.BasicHttpEntityEnclosingRequest;
import org.apache.http.message.BasicHttpRequest;
import org.apache.http.params.HttpConnectionParams;
@@ -66,6 +69,7 @@ public class TestHttpCore implements Tes
private final HttpProcessor httpproc;
private final HttpRequestExecutor httpexecutor;
private final ConnectionReuseStrategy connStrategy;
+ private final BasicConnPool pool;
public TestHttpCore() {
super();
@@ -91,6 +95,8 @@ public class TestHttpCore implements Tes
this.httpexecutor = new HttpRequestExecutor();
this.connStrategy = new DefaultConnectionReuseStrategy();
+
+ this.pool = new BasicConnPool(this.params);
}
public void init() {
@@ -100,6 +106,8 @@ public class TestHttpCore implements Tes
}
Stats execute(final URI target, final byte[] content, int n, int c) throws Exception {
+ this.pool.setMaxTotal(2000);
+ this.pool.setDefaultMaxPerRoute(c);
HttpHost targetHost = new HttpHost(target.getHost(), target.getPort());
StringBuilder buffer = new StringBuilder();
buffer.append(target.getPath());
@@ -143,29 +151,27 @@ public class TestHttpCore implements Tes
public void run() {
byte[] buffer = new byte[4096];
HttpContext context = new BasicHttpContext();
- DefaultHttpClientConnection conn = new DefaultHttpClientConnection();
- try {
- while (!this.stats.isComplete()) {
- HttpRequest request;
- if (this.content == null) {
- BasicHttpRequest httpget = new BasicHttpRequest("GET", this.requestUri);
- request = httpget;
- } else {
- BasicHttpEntityEnclosingRequest httppost = new BasicHttpEntityEnclosingRequest("POST",
- this.requestUri);
- httppost.setEntity(new ByteArrayEntity(this.content));
- request = httppost;
- }
- long contentLen = 0;
- try {
- if (!conn.isOpen()) {
- Socket socket = new Socket(
- this.targetHost.getHostName(),
- this.targetHost.getPort() > 0 ? this.targetHost.getPort() : 80);
- conn.bind(socket, params);
- }
+ while (!this.stats.isComplete()) {
+ HttpRequest request;
+ if (this.content == null) {
+ BasicHttpRequest httpget = new BasicHttpRequest("GET", this.requestUri);
+ request = httpget;
+ } else {
+ BasicHttpEntityEnclosingRequest httppost = new BasicHttpEntityEnclosingRequest("POST",
+ this.requestUri);
+ httppost.setEntity(new ByteArrayEntity(this.content));
+ request = httppost;
+ }
+ long contentLen = 0;
+ boolean reusable = false;
+
+ Future<BasicPoolEntry> future = pool.lease(targetHost, null);
+ try {
+ BasicPoolEntry entry = future.get();
+ try {
+ HttpClientConnection conn = entry.getConnection();
context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, targetHost);
@@ -188,8 +194,8 @@ public class TestHttpCore implements Tes
instream.close();
}
}
- if (!connStrategy.keepAlive(response, context)) {
- conn.close();
+ if (connStrategy.keepAlive(response, context)) {
+ reusable = true;
}
for (HeaderIterator it = request.headerIterator(); it.hasNext();) {
it.next();
@@ -200,16 +206,18 @@ public class TestHttpCore implements Tes
} else {
this.stats.failure(contentLen);
}
- } catch (IOException ex) {
- this.stats.failure(contentLen);
- } catch (HttpException ex) {
- this.stats.failure(contentLen);
+ } finally {
+ pool.release(entry, reusable);
}
+ } catch (InterruptedException ex) {
+ this.stats.failure(contentLen);
+ } catch (ExecutionException ex) {
+ this.stats.failure(contentLen);
+ } catch (IOException ex) {
+ this.stats.failure(contentLen);
+ } catch (HttpException ex) {
+ this.stats.failure(contentLen);
}
- } finally {
- try {
- conn.shutdown();
- } catch (IOException ignore) {}
}
}
Modified: httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestNingHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestNingHttpClient.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestNingHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestNingHttpClient.java Tue Aug 23 11:32:53 2011
@@ -94,7 +94,7 @@ public class TestNingHttpClient implemen
}
public String getClientName() {
- return "Ning async HTTP client 1.5.0";
+ return "Ning async HTTP client 1.6.4";
}
static class SimpleAsyncHandler implements AsyncHandler<Object> {
Propchange: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/HttpCacheStorage.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1,2 +1,3 @@
/httpcomponents/httpclient/branches/4.0.x/httpclient-cache/src/main/java/org/apache/http/client/cache/HttpCache.java:950681-950688
/httpcomponents/httpclient/branches/branch_4_1/httpclient-cache/src/main/java/org/apache/http/client/cache/HttpCache.java:755593-811107
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient-cache/src/main/java/org/apache/http/client/cache/HttpCacheStorage.java:1154913-1160573
Propchange: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCacheStorage.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1,2 +1,3 @@
/httpcomponents/httpclient/branches/4.0.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java:950681-950688
/httpcomponents/httpclient/branches/branch_4_1/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java:755593-811107
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCacheStorage.java:1154913-1160573
Propchange: httpcomponents/httpclient/trunk/httpclient-contrib/src/main/java/org/apache/http/contrib/auth/BouncySpnegoTokenGenerator.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1 +1,2 @@
/httpcomponents/httpclient/branches/branch_4_1/contrib/org/apache/http/contrib/auth/BouncySpnegoTokenGenerator.java:755593-811107
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient-contrib/src/main/java/org/apache/http/contrib/auth/BouncySpnegoTokenGenerator.java:1154913-1160573
Modified: httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientEvictExpiredConnections.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientEvictExpiredConnections.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientEvictExpiredConnections.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientEvictExpiredConnections.java Tue Aug 23 11:32:53 2011
@@ -34,7 +34,7 @@ import org.apache.http.client.HttpClient
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.util.EntityUtils;
/**
@@ -44,7 +44,7 @@ import org.apache.http.util.EntityUtils;
public class ClientEvictExpiredConnections {
public static void main(String[] args) throws Exception {
- ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager();
+ PoolingClientConnectionManager cm = new PoolingClientConnectionManager();
cm.setMaxTotal(100);
HttpClient httpclient = new DefaultHttpClient(cm);
Modified: httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientMultiThreadedExecution.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientMultiThreadedExecution.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientMultiThreadedExecution.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientMultiThreadedExecution.java Tue Aug 23 11:32:53 2011
@@ -31,7 +31,7 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
@@ -46,7 +46,7 @@ public class ClientMultiThreadedExecutio
// Create an HttpClient with the ThreadSafeClientConnManager.
// This connection manager must be used if more than one thread will
// be using the HttpClient.
- ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager();
+ PoolingClientConnectionManager cm = new PoolingClientConnectionManager();
cm.setMaxTotal(100);
HttpClient httpclient = new DefaultHttpClient(cm);
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/methods/AbortableHttpRequest.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/methods/AbortableHttpRequest.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/methods/AbortableHttpRequest.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/methods/AbortableHttpRequest.java Tue Aug 23 11:32:53 2011
@@ -34,7 +34,6 @@ import org.apache.http.conn.ClientConnec
import org.apache.http.conn.ClientConnectionRequest;
import org.apache.http.conn.ConnectionReleaseTrigger;
import org.apache.http.conn.ManagedClientConnection;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
/**
* Interface representing an HTTP request that can be aborted by shutting
@@ -52,7 +51,6 @@ public interface AbortableHttpRequest {
* If the request is already aborted, throws an {@link IOException}.
*
* @see ClientConnectionManager
- * @see ThreadSafeClientConnManager
*/
void setConnectionRequest(ClientConnectionRequest connRequest) throws IOException;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/conn/routing/HttpRoute.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/conn/routing/HttpRoute.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/conn/routing/HttpRoute.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/conn/routing/HttpRoute.java Tue Aug 23 11:32:53 2011
@@ -376,8 +376,6 @@ public final class HttpRoute implements
@Override
public final String toString() {
StringBuilder cab = new StringBuilder(50 + getHopCount()*30);
-
- cab.append("HttpRoute[");
if (this.localAddress != null) {
cab.append(this.localAddress);
cab.append("->");
@@ -395,8 +393,6 @@ public final class HttpRoute implements
cab.append("->");
}
cab.append(this.targetHost);
- cab.append(']');
-
return cab.toString();
}
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java Tue Aug 23 11:32:53 2011
@@ -40,6 +40,7 @@ import org.apache.http.HttpRequest;
import org.apache.http.HttpEntityEnclosingRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpConnectionMetrics;
+import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.conn.OperatedClientConnection;
import org.apache.http.conn.ManagedClientConnection;
import org.apache.http.conn.ClientConnectionManager;
@@ -66,8 +67,8 @@ import org.apache.http.protocol.HttpCont
*
* @since 4.0
*/
-public abstract class AbstractClientConnAdapter
- implements ManagedClientConnection, HttpContext {
+@NotThreadSafe
+public abstract class AbstractClientConnAdapter implements ManagedClientConnection, HttpContext {
/**
* The connection manager, if any.
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPoolEntry.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPoolEntry.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPoolEntry.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPoolEntry.java Tue Aug 23 11:32:53 2011
@@ -31,7 +31,6 @@ import java.io.IOException;
import org.apache.http.HttpHost;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HttpContext;
-import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.conn.routing.RouteTracker;
import org.apache.http.conn.ClientConnectionOperator;
@@ -52,8 +51,10 @@ import org.apache.http.conn.OperatedClie
* underlying connection and the established route.
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
-@NotThreadSafe
+@Deprecated
public abstract class AbstractPoolEntry {
/** The connection operator. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPooledConnAdapter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPooledConnAdapter.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPooledConnAdapter.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/AbstractPooledConnAdapter.java Tue Aug 23 11:32:53 2011
@@ -46,7 +46,10 @@ import org.apache.http.conn.OperatedClie
* respective method of the wrapped connection.
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
+@Deprecated
public abstract class AbstractPooledConnAdapter extends AbstractClientConnAdapter {
/** The wrapped pool entry. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java Tue Aug 23 11:32:53 2011
@@ -149,7 +149,9 @@ public class DefaultClientConnection ext
shutdown = true;
try {
super.shutdown();
- log.debug("Connection shut down");
+ if (log.isDebugEnabled()) {
+ log.debug("Connection " + this + " shut down");
+ }
Socket sock = this.socket; // copy volatile attribute
if (sock != null)
sock.close();
@@ -162,7 +164,9 @@ public class DefaultClientConnection ext
public void close() throws IOException {
try {
super.close();
- log.debug("Connection closed");
+ if (log.isDebugEnabled()) {
+ log.debug("Connection " + this + " closed");
+ }
} catch (IOException ex) {
log.debug("I/O error closing connection", ex);
}
@@ -211,7 +215,7 @@ public class DefaultClientConnection ext
}
@Override
- protected HttpMessageParser createResponseParser(
+ protected HttpMessageParser<HttpResponse> createResponseParser(
final SessionInputBuffer buffer,
final HttpResponseFactory responseFactory,
final HttpParams params) {
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java Tue Aug 23 11:32:53 2011
@@ -34,7 +34,7 @@ import org.apache.http.annotation.Thread
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
+import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseFactory;
import org.apache.http.NoHttpResponseException;
import org.apache.http.ProtocolException;
@@ -60,7 +60,7 @@ import org.apache.http.util.CharArrayBuf
* @since 4.0
*/
@ThreadSafe // no public methods
-public class DefaultResponseParser extends AbstractMessageParser {
+public class DefaultResponseParser extends AbstractMessageParser<HttpResponse> {
private final Log log = LogFactory.getLog(getClass());
@@ -94,7 +94,7 @@ public class DefaultResponseParser exten
}
@Override
- protected HttpMessage parseHead(
+ protected HttpResponse parseHead(
final SessionInputBuffer sessionBuffer) throws IOException, HttpException {
//read out the HTTP status string
int count = 0;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/SingleClientConnManager.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/SingleClientConnManager.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/SingleClientConnManager.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/SingleClientConnManager.java Tue Aug 23 11:32:53 2011
@@ -57,8 +57,11 @@ import org.apache.http.params.HttpParams
* already been allocated {@link IllegalStateException} is thrown.
*
* @since 4.0
+ *
+ * @deprecated use {@link SingleConnectionManager}
*/
@ThreadSafe
+@Deprecated
public class SingleClientConnManager implements ClientConnectionManager {
private final Log log = LogFactory.getLog(getClass());
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/AbstractConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/AbstractConnPool.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/AbstractConnPool.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/AbstractConnPool.java Tue Aug 23 11:32:53 2011
@@ -53,6 +53,8 @@ import org.apache.http.impl.conn.IdleCon
* Don't use <code>synchronized</code> for that purpose!
*
* @since 4.0
+ *
+ * @deprecated use {@link org.apache.http.pool.AbstractConnPool}
*/
@Deprecated
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntry.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntry.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntry.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntry.java Tue Aug 23 11:32:53 2011
@@ -29,7 +29,6 @@ package org.apache.http.impl.conn.tsccm;
import java.lang.ref.ReferenceQueue;
import java.util.concurrent.TimeUnit;
-import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.conn.OperatedClientConnection;
import org.apache.http.conn.ClientConnectionOperator;
import org.apache.http.conn.routing.HttpRoute;
@@ -39,8 +38,10 @@ import org.apache.http.impl.conn.Abstrac
* Basic implementation of a connection pool entry.
*
* @since 4.0
+ *
+ * @deprecated use {@link org.apache.http.pool.PoolEntry}
*/
-@NotThreadSafe
+@Deprecated
public class BasicPoolEntry extends AbstractPoolEntry {
private final long created;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.java Tue Aug 23 11:32:53 2011
@@ -26,24 +26,21 @@
package org.apache.http.impl.conn.tsccm;
-
import java.lang.ref.WeakReference;
import java.lang.ref.ReferenceQueue;
-import org.apache.http.annotation.Immutable;
-
import org.apache.http.conn.routing.HttpRoute;
-
-
/**
* A weak reference to a {@link BasicPoolEntry BasicPoolEntry}.
* This reference explicitly keeps the planned route, so the connection
* can be reclaimed if it is lost to garbage collection.
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
-@Immutable
+@Deprecated
public class BasicPoolEntryRef extends WeakReference<BasicPoolEntry> {
/** The planned route of the entry. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.java Tue Aug 23 11:32:53 2011
@@ -36,7 +36,10 @@ import org.apache.http.impl.conn.Abstrac
* can be {@link #detach detach}ed to prevent further use on release.
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
+@Deprecated
public class BasicPooledConnAdapter extends AbstractPooledConnAdapter {
/**
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.java Tue Aug 23 11:32:53 2011
@@ -40,7 +40,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.http.annotation.ThreadSafe;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.conn.ClientConnectionOperator;
import org.apache.http.conn.ConnectionPoolTimeoutException;
@@ -63,10 +62,11 @@ import org.apache.http.params.HttpParams
* not via <code>synchronized</code> methods.
*
* @since 4.0
+ *
+ * @deprecated use {@link org.apache.http.pool.AbstractConnPool}
*/
-@ThreadSafe
-@SuppressWarnings("deprecation")
-public class ConnPoolByRoute extends AbstractConnPool { //TODO: remove dependency on AbstractConnPool
+@Deprecated
+public class ConnPoolByRoute extends AbstractConnPool {
private final Log log = LogFactory.getLog(getClass());
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java Tue Aug 23 11:32:53 2011
@@ -26,6 +26,7 @@
package org.apache.http.impl.conn.tsccm;
+import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.apache.http.conn.ConnectionPoolTimeoutException;
@@ -34,7 +35,10 @@ import org.apache.http.conn.ConnectionPo
* Encapsulates a request for a {@link BasicPoolEntry}.
*
* @since 4.0
+ *
+ * @deprecated use {@link Future}
*/
+@Deprecated
public interface PoolEntryRequest {
/**
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RouteSpecificPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RouteSpecificPool.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RouteSpecificPool.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RouteSpecificPool.java Tue Aug 23 11:32:53 2011
@@ -31,8 +31,6 @@ import java.util.ListIterator;
import java.util.Queue;
import java.util.LinkedList;
-import org.apache.http.annotation.NotThreadSafe;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.conn.OperatedClientConnection;
@@ -47,8 +45,10 @@ import org.apache.http.util.LangUtils;
* containing pool takes care of synchronization.
*
* @since 4.0
+ *
+ * @deprecated use {@link org.apache.http.pool.AbstractConnPool}
*/
-@NotThreadSafe // e.g. numEntries, freeEntries,
+@Deprecated
public class RouteSpecificPool {
private final Log log = LogFactory.getLog(getClass());
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.java Tue Aug 23 11:32:53 2011
@@ -43,6 +43,7 @@ import org.apache.http.conn.ManagedClien
import org.apache.http.conn.OperatedClientConnection;
import org.apache.http.params.HttpParams;
import org.apache.http.impl.conn.DefaultClientConnectionOperator;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.impl.conn.SchemeRegistryFactory;
/**
@@ -62,8 +63,11 @@ import org.apache.http.impl.conn.SchemeR
* can be adjusted using HTTP parameters.
*
* @since 4.0
+ *
+ * @deprecated use {@link PoolingClientConnectionManager}
*/
@ThreadSafe
+@Deprecated
public class ThreadSafeClientConnManager implements ClientConnectionManager {
private final Log log;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThread.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThread.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThread.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThread.java Tue Aug 23 11:32:53 2011
@@ -30,8 +30,6 @@ package org.apache.http.impl.conn.tsccm;
import java.util.Date;
import java.util.concurrent.locks.Condition;
-import org.apache.http.annotation.NotThreadSafe;
-
/**
* Represents a thread waiting for a connection.
* This class implements throwaway objects. It is instantiated whenever
@@ -44,8 +42,10 @@ import org.apache.http.annotation.NotThr
*
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
-@NotThreadSafe
+@Deprecated
public class WaitingThread {
/** The condition on which the thread is waiting. */
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.java Tue Aug 23 11:32:53 2011
@@ -26,17 +26,16 @@
package org.apache.http.impl.conn.tsccm;
-import org.apache.http.annotation.NotThreadSafe;
-
-// TODO - only called from ConnPoolByRoute currently; consider adding it as nested class
/**
* A simple class that can interrupt a {@link WaitingThread}.
*
* Must be called with the pool lock held.
*
* @since 4.0
+ *
+ * @deprecated do not use
*/
-@NotThreadSafe
+@Deprecated
public class WaitingThreadAborter {
private WaitingThread waitingThread;
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/client/utils/TestURLEncodedUtils.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/client/utils/TestURLEncodedUtils.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/client/utils/TestURLEncodedUtils.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/client/utils/TestURLEncodedUtils.java Tue Aug 23 11:32:53 2011
@@ -89,7 +89,7 @@ public class TestURLEncodedUtils {
@Test
public void testParseEntity () throws Exception {
- final StringEntity entity = new StringEntity("Name1=Value1", null);
+ final StringEntity entity = new StringEntity("Name1=Value1");
entity.setContentType(URLEncodedUtils.CONTENT_TYPE);
final List <NameValuePair> result = URLEncodedUtils.parse(entity);
@@ -142,7 +142,7 @@ public class TestURLEncodedUtils {
@Test
public void testIsEncoded () throws Exception {
- final StringEntity entity = new StringEntity("...", null);
+ final StringEntity entity = new StringEntity("...");
entity.setContentType(URLEncodedUtils.CONTENT_TYPE);
Assert.assertTrue(URLEncodedUtils.isEncoded(entity));
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionAutoRelease.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionAutoRelease.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionAutoRelease.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionAutoRelease.java Tue Aug 23 11:32:53 2011
@@ -40,12 +40,12 @@ import org.apache.http.HttpResponse;
import org.apache.http.MalformedChunkCodingException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.routing.HttpRoute;
-import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.entity.BasicHttpEntity;
import org.apache.http.impl.DefaultHttpServerConnection;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.localserver.ServerTestBase;
+import org.apache.http.pool.PoolStats;
import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
@@ -55,20 +55,15 @@ import org.junit.Test;
public class TestConnectionAutoRelease extends ServerTestBase {
- private ThreadSafeClientConnManager createTSCCM(SchemeRegistry schreg) {
- if (schreg == null)
- schreg = supportedSchemes;
- return new ThreadSafeClientConnManager(schreg);
- }
-
@Test
public void testReleaseOnEntityConsumeContent() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setDefaultMaxPerRoute(1);
mgr.setMaxTotal(1);
// Zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ PoolStats stats = mgr.getTotalStats();
+ Assert.assertEquals(0, stats.getAvailable());
DefaultHttpClient client = new DefaultHttpClient(mgr);
@@ -90,7 +85,8 @@ public class TestConnectionAutoRelease e
EntityUtils.consume(e);
// Expect one connection in the pool
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ stats = mgr.getTotalStats();
+ Assert.assertEquals(1, stats.getAvailable());
// Make sure one connection is available
connreq = mgr.requestConnection(new HttpRoute(target), null);
@@ -103,12 +99,13 @@ public class TestConnectionAutoRelease e
@Test
public void testReleaseOnEntityWriteTo() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setDefaultMaxPerRoute(1);
mgr.setMaxTotal(1);
// Zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ PoolStats stats = mgr.getTotalStats();
+ Assert.assertEquals(0, stats.getAvailable());
DefaultHttpClient client = new DefaultHttpClient(mgr);
@@ -131,7 +128,8 @@ public class TestConnectionAutoRelease e
e.writeTo(outsteam);
// Expect one connection in the pool
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ stats = mgr.getTotalStats();
+ Assert.assertEquals(1, stats.getAvailable());
// Make sure one connection is available
connreq = mgr.requestConnection(new HttpRoute(target), null);
@@ -144,12 +142,13 @@ public class TestConnectionAutoRelease e
@Test
public void testReleaseOnAbort() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setDefaultMaxPerRoute(1);
mgr.setMaxTotal(1);
// Zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ PoolStats stats = mgr.getTotalStats();
+ Assert.assertEquals(0, stats.getAvailable());
DefaultHttpClient client = new DefaultHttpClient(mgr);
@@ -171,7 +170,7 @@ public class TestConnectionAutoRelease e
httpget.abort();
// Expect zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
// Make sure one connection is available
connreq = mgr.requestConnection(new HttpRoute(target), null);
@@ -217,12 +216,12 @@ public class TestConnectionAutoRelease e
});
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setDefaultMaxPerRoute(1);
mgr.setMaxTotal(1);
// Zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
DefaultHttpClient client = new DefaultHttpClient(mgr);
@@ -250,7 +249,7 @@ public class TestConnectionAutoRelease e
}
// Expect zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
// Make sure one connection is available
connreq = mgr.requestConnection(new HttpRoute(target), null);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionReuse.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionReuse.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionReuse.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/conn/TestConnectionReuse.java Tue Aug 23 11:32:53 2011
@@ -44,7 +44,7 @@ import org.apache.http.conn.scheme.Schem
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.scheme.SchemeSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.localserver.LocalTestServer;
import org.apache.http.localserver.RandomHandler;
import org.apache.http.params.BasicHttpParams;
@@ -99,7 +99,7 @@ public class TestConnectionReuse {
SchemeSocketFactory sf = PlainSocketFactory.getSocketFactory();
supportedSchemes.register(new Scheme("http", 80, sf));
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(supportedSchemes);
mgr.setMaxTotal(5);
mgr.setDefaultMaxPerRoute(5);
@@ -130,7 +130,7 @@ public class TestConnectionReuse {
}
// Expect some connection in the pool
- Assert.assertTrue(mgr.getConnectionsInPool() > 0);
+ Assert.assertTrue(mgr.getTotalStats().getAvailable() > 0);
mgr.shutdown();
}
@@ -170,7 +170,7 @@ public class TestConnectionReuse {
SchemeSocketFactory sf = PlainSocketFactory.getSocketFactory();
supportedSchemes.register(new Scheme("http", 80, sf));
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(supportedSchemes);
mgr.setMaxTotal(5);
mgr.setDefaultMaxPerRoute(5);
@@ -201,7 +201,7 @@ public class TestConnectionReuse {
}
// Expect zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
mgr.shutdown();
}
@@ -231,7 +231,7 @@ public class TestConnectionReuse {
SchemeSocketFactory sf = PlainSocketFactory.getSocketFactory();
supportedSchemes.register(new Scheme("http", 80, sf));
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(supportedSchemes);
mgr.setMaxTotal(5);
mgr.setDefaultMaxPerRoute(5);
@@ -262,7 +262,7 @@ public class TestConnectionReuse {
}
// Expect zero connections in the pool
- Assert.assertEquals(0, mgr.getConnectionsInPool());
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
mgr.shutdown();
}
@@ -293,7 +293,7 @@ public class TestConnectionReuse {
SchemeSocketFactory sf = PlainSocketFactory.getSocketFactory();
supportedSchemes.register(new Scheme("http", 80, sf));
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(supportedSchemes);
mgr.setMaxTotal(1);
mgr.setDefaultMaxPerRoute(1);
@@ -303,13 +303,13 @@ public class TestConnectionReuse {
HttpResponse response = client.execute(target, new HttpGet("/random/2000"));
EntityUtils.consume(response.getEntity());
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
Assert.assertEquals(1, localServer.getAcceptedConnectionCount());
response = client.execute(target, new HttpGet("/random/2000"));
EntityUtils.consume(response.getEntity());
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
Assert.assertEquals(1, localServer.getAcceptedConnectionCount());
// Now sleep for 1.1 seconds and let the timeout do its work
@@ -317,7 +317,7 @@ public class TestConnectionReuse {
response = client.execute(target, new HttpGet("/random/2000"));
EntityUtils.consume(response.getEntity());
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
Assert.assertEquals(2, localServer.getAcceptedConnectionCount());
// Do another request just under the 1 second limit & make
@@ -326,7 +326,7 @@ public class TestConnectionReuse {
response = client.execute(target, new HttpGet("/random/2000"));
EntityUtils.consume(response.getEntity());
- Assert.assertEquals(1, mgr.getConnectionsInPool());
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
Assert.assertEquals(2, localServer.getAcceptedConnectionCount());
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestContentCodings.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestContentCodings.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestContentCodings.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestContentCodings.java Tue Aug 23 11:32:53 2011
@@ -55,7 +55,7 @@ import org.apache.http.conn.scheme.Schem
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.localserver.ServerTestBase;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
@@ -188,7 +188,7 @@ public class TestContentCodings extends
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
- ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(schemeRegistry);
+ PoolingClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);
cm.setMaxTotal(clients);
final HttpClient httpClient = new DefaultHttpClient(cm);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java Tue Aug 23 11:32:53 2011
@@ -60,8 +60,7 @@ import org.apache.http.conn.scheme.Schem
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.conn.ClientConnAdapterMockup;
-import org.apache.http.impl.conn.SingleClientConnManager;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.localserver.BasicServerTestBase;
import org.apache.http.localserver.LocalTestServer;
import org.apache.http.message.BasicHeader;
@@ -141,7 +140,7 @@ public class TestDefaultClientRequestDir
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
- SingleClientConnManager conMan = new SingleClientConnManager(registry);
+ PoolingClientConnectionManager conMan = new PoolingClientConnectionManager(registry);
final AtomicReference<Throwable> throwableRef = new AtomicReference<Throwable>();
final CountDownLatch getLatch = new CountDownLatch(1);
final DefaultHttpClient client = new DefaultHttpClient(conMan, new BasicHttpParams());
@@ -182,7 +181,7 @@ public class TestDefaultClientRequestDir
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
- SingleClientConnManager conMan = new SingleClientConnManager(registry);
+ PoolingClientConnectionManager conMan = new PoolingClientConnectionManager(registry);
final AtomicReference<Throwable> throwableRef = new AtomicReference<Throwable>();
final CountDownLatch getLatch = new CountDownLatch(1);
final CountDownLatch startLatch = new CountDownLatch(1);
@@ -283,35 +282,6 @@ public class TestDefaultClientRequestDir
Assert.assertSame(conMan.allocatedConnection, conMan.releasedConnection);
}
- @Test
- public void testRequestFailureReleasesConnection() throws Exception {
- this.localServer.register("*", new ThrowingService());
-
- SchemeRegistry registry = new SchemeRegistry();
- registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
-
- ConnMan3 conMan = new ConnMan3(registry);
- DefaultHttpClient client = new DefaultHttpClient(conMan, new BasicHttpParams());
- HttpGet httpget = new HttpGet("/a");
-
- try {
- client.execute(getServerHttp(), httpget);
- Assert.fail("expected IOException");
- } catch (IOException expected) {}
-
- Assert.assertNotNull(conMan.allocatedConnection);
- Assert.assertSame(conMan.allocatedConnection, conMan.releasedConnection);
- }
-
- private static class ThrowingService implements HttpRequestHandler {
- public void handle(
- final HttpRequest request,
- final HttpResponse response,
- final HttpContext context) throws HttpException, IOException {
- throw new IOException();
- }
- }
-
private static class BasicService implements HttpRequestHandler {
public void handle(final HttpRequest request,
final HttpResponse response,
@@ -340,7 +310,7 @@ public class TestDefaultClientRequestDir
}
}
- private static class ConnMan4 extends ThreadSafeClientConnManager {
+ private static class ConnMan4 extends PoolingClientConnectionManager {
private final CountDownLatch connLatch;
private final CountDownLatch awaitLatch;
@@ -387,29 +357,6 @@ public class TestDefaultClientRequestDir
}
- private static class ConnMan3 extends SingleClientConnManager {
- private ManagedClientConnection allocatedConnection;
- private ManagedClientConnection releasedConnection;
-
- public ConnMan3(SchemeRegistry schreg) {
- super(schreg);
- }
-
- @Override
- public ManagedClientConnection getConnection(HttpRoute route, Object state) {
- allocatedConnection = super.getConnection(route, state);
- return allocatedConnection;
- }
-
- @Override
- public void releaseConnection(ManagedClientConnection conn, long validDuration, TimeUnit timeUnit) {
- releasedConnection = conn;
- super.releaseConnection(conn, validDuration, timeUnit);
- }
-
-
- }
-
static class ConnMan2 implements ClientConnectionManager {
private ManagedClientConnection allocatedConnection;
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestRequestRetryHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestRequestRetryHandler.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestRequestRetryHandler.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestRequestRetryHandler.java Tue Aug 23 11:32:53 2011
@@ -38,8 +38,7 @@ import org.apache.http.conn.ConnectTimeo
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.scheme.SchemeSocketFactory;
-import org.apache.http.impl.conn.SingleClientConnManager;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HttpContext;
@@ -49,26 +48,16 @@ import org.junit.Test;
public class TestRequestRetryHandler {
@Test(expected=UnknownHostException.class)
- public void testUseRetryHandlerInConnectionTimeOutWithThreadSafeClientConnManager()
+ public void testUseRetryHandlerInConnectionTimeOut()
throws Exception {
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, new OppsieSchemeSocketFactory()));
- ClientConnectionManager connManager = new ThreadSafeClientConnManager(schemeRegistry);
+ ClientConnectionManager connManager = new PoolingClientConnectionManager(schemeRegistry);
assertOnRetry(connManager);
}
- @Test(expected=UnknownHostException.class)
- public void testUseRetryHandlerInConnectionTimeOutWithSingleClientConnManager()
- throws Exception {
-
- SchemeRegistry schemeRegistry = new SchemeRegistry();
- schemeRegistry.register(new Scheme("http", 80, new OppsieSchemeSocketFactory()));
- ClientConnectionManager connManager = new SingleClientConnManager(schemeRegistry);
- assertOnRetry(connManager);
- }
-
protected void assertOnRetry(ClientConnectionManager connManager) throws Exception {
DefaultHttpClient client = new DefaultHttpClient(connManager);
TestHttpRequestRetryHandler testRetryHandler = new TestHttpRequestRetryHandler();
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestStatefulConnManagement.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestStatefulConnManagement.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestStatefulConnManagement.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestStatefulConnManagement.java Tue Aug 23 11:32:53 2011
@@ -37,7 +37,7 @@ import org.apache.http.client.UserTokenH
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ManagedClientConnection;
import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.localserver.ServerTestBase;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
@@ -85,7 +85,7 @@ public class TestStatefulConnManagement
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 10);
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(supportedSchemes);
mgr.setMaxTotal(workerCount);
mgr.setDefaultMaxPerRoute(workerCount);
@@ -207,7 +207,7 @@ public class TestStatefulConnManagement
this.localServer.register("*", new SimpleService());
// We build a client with 2 max active // connections, and 2 max per route.
- ThreadSafeClientConnManager connMngr = new ThreadSafeClientConnManager(supportedSchemes);
+ PoolingClientConnectionManager connMngr = new PoolingClientConnectionManager(supportedSchemes);
connMngr.setMaxTotal(maxConn);
connMngr.setDefaultMaxPerRoute(maxConn);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ExecReqThread.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ExecReqThread.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ExecReqThread.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/ExecReqThread.java Tue Aug 23 11:32:53 2011
@@ -111,10 +111,9 @@ public class ExecReqThread extends GetCo
doConsumeResponse();
- } catch (Throwable dart) {
- dart.printStackTrace(System.out);
+ } catch (Exception ex) {
if (exception != null)
- exception = dart;
+ exception = ex;
} finally {
conn_manager.releaseConnection(connection, -1, null);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/GetConnThread.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/GetConnThread.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/GetConnThread.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/GetConnThread.java Tue Aug 23 11:32:53 2011
@@ -47,7 +47,7 @@ public class GetConnThread extends Threa
protected final ClientConnectionRequest conn_request;
protected volatile ManagedClientConnection connection;
- protected volatile Throwable exception;
+ protected volatile Exception exception;
/**
* Creates a new thread for requesting a connection from the given manager.
@@ -81,8 +81,8 @@ public class GetConnThread extends Threa
try {
connection = conn_request.getConnection
(conn_timeout, TimeUnit.MILLISECONDS);
- } catch (Throwable dart) {
- exception = dart;
+ } catch (Exception ex) {
+ exception = ex;
}
// terminate
}
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestDefaultResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestDefaultResponseParser.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestDefaultResponseParser.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestDefaultResponseParser.java Tue Aug 23 11:32:53 2011
@@ -60,7 +60,7 @@ public class TestDefaultResponseParser {
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuffer = new SessionInputBufferMockup(s, "US-ASCII", params);
- HttpMessageParser parser = new DefaultResponseParser(
+ HttpMessageParser<HttpResponse> parser = new DefaultResponseParser(
inbuffer,
BasicLineParser.DEFAULT,
new DefaultHttpResponseFactory(),
@@ -91,7 +91,7 @@ public class TestDefaultResponseParser {
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuffer = new SessionInputBufferMockup(s, "US-ASCII", params);
- HttpMessageParser parser = new DefaultResponseParser(
+ HttpMessageParser<HttpResponse> parser = new DefaultResponseParser(
inbuffer,
BasicLineParser.DEFAULT,
new DefaultHttpResponseFactory(),
@@ -110,7 +110,7 @@ public class TestDefaultResponseParser {
public void testResponseParsingNoResponse() throws Exception {
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuffer = new SessionInputBufferMockup("", "US-ASCII", params);
- HttpMessageParser parser = new DefaultResponseParser(
+ HttpMessageParser<HttpResponse> parser = new DefaultResponseParser(
inbuffer,
BasicLineParser.DEFAULT,
new DefaultHttpResponseFactory(),
@@ -127,7 +127,7 @@ public class TestDefaultResponseParser {
"a lot more garbage\r\n";
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuffer = new SessionInputBufferMockup(s, "US-ASCII", params);
- HttpMessageParser parser = new DefaultResponseParser(
+ HttpMessageParser<HttpResponse> parser = new DefaultResponseParser(
inbuffer,
BasicLineParser.DEFAULT,
new DefaultHttpResponseFactory(),
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestIdleConnectionEviction.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestIdleConnectionEviction.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestIdleConnectionEviction.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestIdleConnectionEviction.java Tue Aug 23 11:32:53 2011
@@ -41,7 +41,6 @@ import org.apache.http.conn.scheme.Plain
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.localserver.LocalTestServer;
import org.apache.http.localserver.ServerTestBase;
import org.apache.http.params.BasicHttpParams;
@@ -69,7 +68,7 @@ public class TestIdleConnectionEviction
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
- ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(schemeRegistry);
+ PoolingClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);
cm.setDefaultMaxPerRoute(10);
cm.setMaxTotal(50);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestSCMWithServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestSCMWithServer.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestSCMWithServer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestSCMWithServer.java Tue Aug 23 11:32:53 2011
@@ -44,6 +44,7 @@ import org.apache.http.util.EntityUtils;
import org.junit.Assert;
import org.junit.Test;
+@Deprecated
public class TestSCMWithServer extends ServerTestBase {
/**
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMNoServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMNoServer.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMNoServer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMNoServer.java Tue Aug 23 11:32:53 2011
@@ -36,10 +36,6 @@ import org.apache.http.conn.ClientConnec
import org.apache.http.conn.ConnectionPoolTimeoutException;
import org.apache.http.conn.ManagedClientConnection;
import org.apache.http.conn.routing.HttpRoute;
-import org.apache.http.conn.scheme.PlainSocketFactory;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.scheme.SchemeRegistry;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
@@ -69,21 +65,6 @@ public class TestTSCCMNoServer {
}
/**
- * Helper to instantiate a <code>ThreadSafeClientConnManager</code>.
- *
- * @param schreg the scheme registry, or
- * <code>null</code> to use defaults
- *
- * @return a connection manager to test
- */
- public ThreadSafeClientConnManager createTSCCM(SchemeRegistry schreg) {
- if (schreg == null)
- schreg = createSchemeRegistry();
- return new ThreadSafeClientConnManager(schreg);
- }
-
-
- /**
* Instantiates default parameters.
*
* @return the default parameters
@@ -97,37 +78,15 @@ public class TestTSCCMNoServer {
return params;
}
- /**
- * Instantiates a default scheme registry.
- *
- * @return the default scheme registry
- */
- public SchemeRegistry createSchemeRegistry() {
-
- SchemeRegistry schreg = new SchemeRegistry();
- schreg.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
-
- return schreg;
- }
-
- @Test
- public void testConstructor() {
- SchemeRegistry schreg = createSchemeRegistry();
-
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(schreg);
- Assert.assertNotNull(mgr);
- mgr.shutdown();
- }
-
@Test(expected=IllegalArgumentException.class)
public void testIllegalConstructor() {
- new ThreadSafeClientConnManager(null);
+ new PoolingClientConnectionManager(null);
}
@Test(expected=IllegalArgumentException.class)
public void testGetConnection()
throws InterruptedException, ConnectionPoolTimeoutException {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
HttpHost target = new HttpHost("www.test.invalid", 80, "http");
HttpRoute route = new HttpRoute(target, null, false);
@@ -152,7 +111,7 @@ public class TestTSCCMNoServer {
public void testMaxConnTotal()
throws InterruptedException, ConnectionPoolTimeoutException {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(2);
mgr.setDefaultMaxPerRoute(1);
@@ -198,11 +157,11 @@ public class TestTSCCMNoServer {
HttpHost target3 = new HttpHost("www.test3.invalid", 80, "http");
HttpRoute route3 = new HttpRoute(target3, null, false);
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(100);
mgr.setDefaultMaxPerRoute(1);
- mgr.setMaxForRoute(route2, 2);
- mgr.setMaxForRoute(route3, 3);
+ mgr.setMaxPerRoute(route2, 2);
+ mgr.setMaxPerRoute(route3, 3);
// route 3, limit 3
ManagedClientConnection conn1 =
@@ -264,7 +223,7 @@ public class TestTSCCMNoServer {
@Test
public void testReleaseConnection() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(3);
mgr.setDefaultMaxPerRoute(1);
@@ -333,31 +292,26 @@ public class TestTSCCMNoServer {
public void testDeleteClosedConnections()
throws InterruptedException, ConnectionPoolTimeoutException {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
HttpHost target = new HttpHost("www.test.invalid", 80, "http");
HttpRoute route = new HttpRoute(target, null, false);
ManagedClientConnection conn = getConnection(mgr, route);
- Assert.assertEquals("connectionsInPool",
- mgr.getConnectionsInPool(), 1);
- Assert.assertEquals("connectionsInPool(host)",
- mgr.getConnectionsInPool(route), 1);
+ Assert.assertEquals(1, mgr.getTotalStats().getLeased());
+ Assert.assertEquals(1, mgr.getStats(route).getLeased());
+ conn.markReusable();
mgr.releaseConnection(conn, -1, null);
- Assert.assertEquals("connectionsInPool",
- mgr.getConnectionsInPool(), 1);
- Assert.assertEquals("connectionsInPool(host)",
- mgr.getConnectionsInPool(route), 1);
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(1, mgr.getStats(route).getAvailable());
// this implicitly deletes them
mgr.closeIdleConnections(0L, TimeUnit.MILLISECONDS);
- Assert.assertEquals("connectionsInPool",
- mgr.getConnectionsInPool(), 0);
- Assert.assertEquals("connectionsInPool(host)",
- mgr.getConnectionsInPool(route), 0);
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(0, mgr.getStats(route).getAvailable());
mgr.shutdown();
}
@@ -366,7 +320,7 @@ public class TestTSCCMNoServer {
public void testShutdown() throws Exception {
// 3.x: TestHttpConnectionManager.testShutdown
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
mgr.setDefaultMaxPerRoute(1);
@@ -397,7 +351,7 @@ public class TestTSCCMNoServer {
Assert.assertNotNull("thread should have gotten an exception",
gct.getException());
Assert.assertSame("thread got wrong exception",
- IllegalStateException.class, gct.getException().getClass());
+ InterruptedException.class, gct.getException().getClass());
// the manager is down, we should not be able to get a connection
try {
@@ -412,7 +366,7 @@ public class TestTSCCMNoServer {
public void testInterruptThread() throws Exception {
// 3.x: TestHttpConnectionManager.testWaitingThreadInterrupted
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
HttpHost target = new HttpHost("www.test.invalid", 80, "http");
@@ -457,7 +411,7 @@ public class TestTSCCMNoServer {
public void testReusePreference() throws Exception {
// 3.x: TestHttpConnectionManager.testHostReusePreference
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
HttpHost target1 = new HttpHost("www.test1.invalid", 80, "http");
@@ -496,7 +450,7 @@ public class TestTSCCMNoServer {
@Test
public void testAbortAfterRequestStarts() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
HttpHost target = new HttpHost("www.test.invalid", 80, "http");
@@ -536,7 +490,7 @@ public class TestTSCCMNoServer {
@Test
public void testAbortBeforeRequestStarts() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
HttpHost target = new HttpHost("www.test.invalid", 80, "http");