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 [2/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/...
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMWithServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMWithServer.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMWithServer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/TestTSCCMWithServer.java Tue Aug 23 11:32:53 2011
@@ -28,7 +28,6 @@
package org.apache.http.impl.conn;
import java.io.IOException;
-import java.lang.ref.WeakReference;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
@@ -55,7 +54,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.conn.scheme.SchemeSocketFactory;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.localserver.ServerTestBase;
import org.apache.http.message.BasicHttpRequest;
import org.apache.http.params.HttpParams;
@@ -73,25 +71,6 @@ import org.junit.Test;
public class TestTSCCMWithServer extends ServerTestBase {
/**
- * 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) {
- return createTSCCM(schreg, -1, TimeUnit.MILLISECONDS);
- }
-
- public ThreadSafeClientConnManager createTSCCM(SchemeRegistry schreg,
- long connTTL, TimeUnit connTTLTimeUnit) {
- if (schreg == null)
- schreg = supportedSchemes;
- return new ThreadSafeClientConnManager(schreg, connTTL, connTTLTimeUnit);
- }
-
- /**
* Tests executing several requests in parallel.
*/
@Test
@@ -100,7 +79,7 @@ public class TestTSCCMWithServer extends
final int COUNT = 8; // adjust to execute more requests
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(COUNT/2);
mgr.setDefaultMaxPerRoute(COUNT/2);
@@ -173,7 +152,7 @@ public class TestTSCCMWithServer extends
@Test
public void testReleaseConnection() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
@@ -259,7 +238,7 @@ public class TestTSCCMWithServer extends
@Test
public void testReleaseConnectionWithTimeLimits() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
@@ -361,7 +340,7 @@ public class TestTSCCMWithServer extends
@Test
public void testCloseExpiredIdleConnections() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
@@ -370,27 +349,28 @@ public class TestTSCCMWithServer extends
ManagedClientConnection conn = getConnection(mgr, route);
conn.open(route, httpContext, defaultParams);
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getLeased());
+ Assert.assertEquals(1, mgr.getStats(route).getLeased());
+ conn.markReusable();
mgr.releaseConnection(conn, 100, TimeUnit.MILLISECONDS);
// Released, still active.
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(1, mgr.getStats(route).getAvailable());
mgr.closeExpiredConnections();
// Time has not expired yet.
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(1, mgr.getStats(route).getAvailable());
Thread.sleep(150);
mgr.closeExpiredConnections();
// Time expired now, connections are destroyed.
- Assert.assertEquals("connectionsInPool", 0, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 0, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(0, mgr.getStats(route).getAvailable());
mgr.shutdown();
}
@@ -398,7 +378,8 @@ public class TestTSCCMWithServer extends
@Test
public void testCloseExpiredTTLConnections() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null, 100, TimeUnit.MILLISECONDS);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(
+ SchemeRegistryFactory.createDefault(), 100, TimeUnit.MILLISECONDS);
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
@@ -407,28 +388,29 @@ public class TestTSCCMWithServer extends
ManagedClientConnection conn = getConnection(mgr, route);
conn.open(route, httpContext, defaultParams);
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getLeased());
+ Assert.assertEquals(1, mgr.getStats(route).getLeased());
// Release, let remain idle for forever
+ conn.markReusable();
mgr.releaseConnection(conn, -1, TimeUnit.MILLISECONDS);
// Released, still active.
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(1, mgr.getStats(route).getAvailable());
mgr.closeExpiredConnections();
// Time has not expired yet.
- Assert.assertEquals("connectionsInPool", 1, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 1, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(1, mgr.getStats(route).getAvailable());
Thread.sleep(150);
mgr.closeExpiredConnections();
// TTL expired now, connections are destroyed.
- Assert.assertEquals("connectionsInPool", 0, mgr.getConnectionsInPool());
- Assert.assertEquals("connectionsInPool(host)", 0, mgr.getConnectionsInPool(route));
+ Assert.assertEquals(0, mgr.getTotalStats().getAvailable());
+ Assert.assertEquals(0, mgr.getStats(route).getAvailable());
mgr.shutdown();
}
@@ -440,7 +422,7 @@ public class TestTSCCMWithServer extends
@Test
public void testReleaseConnectionOnAbort() throws Exception {
- ThreadSafeClientConnManager mgr = createTSCCM(null);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
@@ -473,8 +455,8 @@ public class TestTSCCMWithServer extends
}
// abort the connection
- Assert.assertTrue(conn instanceof AbstractClientConnAdapter);
- ((AbstractClientConnAdapter) conn).abortConnection();
+ Assert.assertTrue(conn instanceof ManagedClientConnection);
+ ((ManagedClientConnection) conn).abortConnection();
// the connection is expected to be released back to the manager
conn = getConnection(mgr, route, 5L, TimeUnit.SECONDS);
@@ -484,56 +466,6 @@ public class TestTSCCMWithServer extends
mgr.shutdown();
}
- /**
- * Tests GC of an unreferenced connection manager.
- */
- @Test
- public void testConnectionManagerGC() throws Exception {
- // 3.x: TestHttpConnectionManager.testDroppedThread
-
- ThreadSafeClientConnManager mgr = createTSCCM(null);
-
- final HttpHost target = getServerHttp();
- final HttpRoute route = new HttpRoute(target, null, false);
- final int rsplen = 8;
- final String uri = "/random/" + rsplen;
-
- HttpRequest request =
- new BasicHttpRequest("GET", uri, HttpVersion.HTTP_1_1);
-
- ManagedClientConnection conn = getConnection(mgr, route);
- conn.open(route, httpContext, defaultParams);
-
- // a new context is created for each testcase, no need to reset
- HttpResponse response = Helper.execute(request, conn, target,
- httpExecutor, httpProcessor, defaultParams, httpContext);
- EntityUtils.toByteArray(response.getEntity());
-
- // release connection after marking it for re-use
- conn.markReusable();
- mgr.releaseConnection(conn, -1, null);
-
- // We now have a manager with an open connection in its pool.
- // We drop all potential hard reference to the manager and check
- // whether it is GCed. Internal references might prevent that
- // if set up incorrectly.
- // Note that we still keep references to the connection wrapper
- // we got from the manager, directly as well as in the request
- // and in the context. The manager will be GCed only if the
- // connection wrapper is truly detached.
- WeakReference<ThreadSafeClientConnManager> wref =
- new WeakReference<ThreadSafeClientConnManager>(mgr);
- mgr = null;
-
- // Java does not guarantee that this will trigger the GC, but
- // it does in the test environment. GC is asynchronous, so we
- // need to give the garbage collector some time afterwards.
- System.gc();
- Thread.sleep(1000);
-
- Assert.assertNull("TSCCM not garbage collected", wref.get());
- }
-
@Test
public void testAbortDuringConnecting() throws Exception {
final CountDownLatch connectLatch = new CountDownLatch(1);
@@ -543,14 +475,13 @@ public class TestTSCCMWithServer extends
SchemeRegistry registry = new SchemeRegistry();
registry.register(scheme);
- ThreadSafeClientConnManager mgr = createTSCCM(registry);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(registry);
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
final HttpRoute route = new HttpRoute(target, null, false);
final ManagedClientConnection conn = getConnection(mgr, route);
- Assert.assertTrue(conn instanceof AbstractClientConnAdapter);
final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
Thread abortingThread = new Thread(new Runnable() {
@@ -595,14 +526,13 @@ public class TestTSCCMWithServer extends
SchemeRegistry registry = new SchemeRegistry();
registry.register(scheme);
- ThreadSafeClientConnManager mgr = createTSCCM(registry);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(registry);
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
final HttpRoute route = new HttpRoute(target, null, false);
final ManagedClientConnection conn = getConnection(mgr, route);
- Assert.assertTrue(conn instanceof AbstractClientConnAdapter);
final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
Thread abortingThread = new Thread(new Runnable() {
@@ -649,14 +579,13 @@ public class TestTSCCMWithServer extends
SchemeRegistry registry = new SchemeRegistry();
registry.register(scheme);
- ThreadSafeClientConnManager mgr = createTSCCM(registry);
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager(registry);
mgr.setMaxTotal(1);
final HttpHost target = getServerHttp();
final HttpRoute route = new HttpRoute(target, null, false);
final ManagedClientConnection conn = getConnection(mgr, route);
- Assert.assertTrue(conn instanceof AbstractClientConnAdapter);
final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
Thread abortingThread = new Thread(new Runnable() {
@@ -704,7 +633,7 @@ public class TestTSCCMWithServer extends
final CountDownLatch connectLatch = new CountDownLatch(1);
final AtomicReference<StallingOperator> operatorRef = new AtomicReference<StallingOperator>();
- ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(supportedSchemes) {
+ PoolingClientConnectionManager mgr = new PoolingClientConnectionManager() {
@Override
protected ClientConnectionOperator createConnectionOperator(
SchemeRegistry schreg) {
@@ -719,7 +648,6 @@ public class TestTSCCMWithServer extends
final HttpRoute route = new HttpRoute(target, null, false);
final ManagedClientConnection conn = getConnection(mgr, route);
- Assert.assertTrue(conn instanceof AbstractClientConnAdapter);
final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
Thread abortingThread = new Thread(new Runnable() {
@@ -739,7 +667,6 @@ public class TestTSCCMWithServer extends
conn.open(route, httpContext, defaultParams);
Assert.fail("expected exception");
} catch(IOException iox) {
- Assert.assertEquals("Request aborted", iox.getMessage());
}
abortingThread.join(5000);
@@ -782,7 +709,7 @@ public class TestTSCCMWithServer extends
void latch() {
waitLatch.countDown();
try {
- if (!continueLatch.await(1, TimeUnit.SECONDS))
+ if (!continueLatch.await(60, TimeUnit.SECONDS))
throw new RuntimeException("waited too long!");
} catch (InterruptedException e) {
throw new RuntimeException(e);
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/AwaitThread.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/AwaitThread.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/AwaitThread.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/AwaitThread.java Tue Aug 23 11:32:53 2011
@@ -35,6 +35,7 @@ import java.util.concurrent.locks.Lock;
/**
* Thread to await something.
*/
+@Deprecated
public class AwaitThread extends Thread {
protected final WaitingThread wait_object;
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestConnPoolByRoute.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestConnPoolByRoute.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestConnPoolByRoute.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestConnPoolByRoute.java Tue Aug 23 11:32:53 2011
@@ -50,6 +50,7 @@ import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
+@Deprecated
public class TestConnPoolByRoute extends ServerTestBase {
private ConnPoolByRoute impl;
@@ -201,7 +202,6 @@ public class TestConnPoolByRoute extends
}
@Test
- @SuppressWarnings("deprecation")
public void deprecatedConstructorIsStillSupported() {
new ConnPoolByRoute(new DefaultClientConnectionOperator(supportedSchemes),
new BasicHttpParams());
@@ -310,8 +310,7 @@ public class TestConnPoolByRoute extends
useMockOperator();
BasicPoolEntry entry = impl.requestPoolEntry(route, new Object()).getPoolEntry(-1, TimeUnit.MILLISECONDS);
impl.freeEntry(entry, true, Long.MAX_VALUE, TimeUnit.MILLISECONDS);
- Thread.sleep(1);
- impl.closeIdleConnections(3, TimeUnit.MILLISECONDS);
+ impl.closeIdleConnections(3, TimeUnit.SECONDS);
verify(mockConnection, never()).close();
}
@@ -369,9 +368,9 @@ public class TestConnPoolByRoute extends
}
});
t.start();
- Thread.sleep(5);
+ Thread.sleep(100);
impl.freeEntry(entry, true, 1000, TimeUnit.MILLISECONDS);
- Thread.sleep(5);
+ Thread.sleep(100);
assertTrue(f.flag);
}
@@ -393,9 +392,9 @@ public class TestConnPoolByRoute extends
}
});
t.start();
- Thread.sleep(5);
+ Thread.sleep(100);
impl.freeEntry(entry, true, 1000, TimeUnit.MILLISECONDS);
- Thread.sleep(5);
+ Thread.sleep(100);
assertTrue(f.flag);
}
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestSpuriousWakeup.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestSpuriousWakeup.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestSpuriousWakeup.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestSpuriousWakeup.java Tue Aug 23 11:32:53 2011
@@ -52,6 +52,7 @@ import org.junit.Test;
* satisfying the condition.
*
*/
+@Deprecated
public class TestSpuriousWakeup {
public final static
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestWaitingThread.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestWaitingThread.java?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestWaitingThread.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/conn/tsccm/TestWaitingThread.java Tue Aug 23 11:32:53 2011
@@ -41,6 +41,7 @@ import org.junit.Test;
/**
* Tests for <code>WaitingThread</code>.
*/
+@Deprecated
public class TestWaitingThread {
public final static
Propchange: httpcomponents/httpclient/trunk/httpclient/src/test/resources/test.keystore
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1 +1,2 @@
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/httpclient/src/test/resources/test.keystore:1154913-1160573
/httpcomponents/httpcore/branches/ibm_compat_branch/httpcore-nio/src/test/resources/test.keystore:755687-758898
Modified: httpcomponents/httpclient/trunk/pom.xml
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/pom.xml?rev=1160635&r1=1160634&r2=1160635&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/pom.xml (original)
+++ httpcomponents/httpclient/trunk/pom.xml Tue Aug 23 11:32:53 2011
@@ -68,7 +68,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <httpcore.version>4.1.1</httpcore.version>
+ <httpcore.version>4.2-alpha1</httpcore.version>
<commons-logging.version>1.1.1</commons-logging.version>
<commons-codec.version>1.4</commons-codec.version>
<ehcache.version>2.2.0</ehcache.version>
Propchange: httpcomponents/httpclient/trunk/src/docbkx/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1 +1,2 @@
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/src/docbkx/resources:1154913-1160573
/httpcomponents/httpcore/branches/ibm_compat_branch/src/docbkx/resources:755687-758898
Propchange: httpcomponents/httpclient/trunk/src/site/apt/ntlm.apt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 23 11:32:53 2011
@@ -1 +1,2 @@
+/httpcomponents/httpclient/branches/conn-mgmt-redesign/src/site/apt/ntlm.apt:1154913-1160573
/httpcomponents/httpclient/trunk/src/site/apt/ntlm.apt:825864-828185,954258,956989-957002