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 2013/01/12 16:25:59 UTC
svn commit: r1432452 - in
/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn:
CPool.java CPoolProxy.java PoolingHttpClientConnectionManager.java
Author: olegk
Date: Sat Jan 12 15:25:59 2013
New Revision: 1432452
URL: http://svn.apache.org/viewvc?rev=1432452&view=rev
Log:
Minor tweaks in the connection management code
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPool.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPoolProxy.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPool.java?rev=1432452&r1=1432451&r2=1432452&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPool.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPool.java Sat Jan 12 15:25:59 2013
@@ -32,7 +32,6 @@ import java.util.concurrent.atomic.Atomi
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.annotation.ThreadSafe;
-import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.conn.SocketClientConnection;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.pool.AbstractConnPool;
@@ -46,7 +45,7 @@ class CPool extends AbstractConnPool<Htt
private static AtomicLong COUNTER = new AtomicLong();
- private final Log log = LogFactory.getLog(HttpClientConnectionManager.class);
+ private final Log log = LogFactory.getLog(CPool.class);
private final long timeToLive;
private final TimeUnit tunit;
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPoolProxy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPoolProxy.java?rev=1432452&r1=1432451&r2=1432452&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPoolProxy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/CPoolProxy.java Sat Jan 12 15:25:59 2013
@@ -33,6 +33,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import org.apache.http.HttpClientConnection;
+import org.apache.http.HttpConnection;
import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.conn.SocketClientConnection;
import org.apache.http.protocol.HttpContext;
@@ -43,6 +44,22 @@ import org.apache.http.protocol.HttpCont
@NotThreadSafe
class CPoolProxy implements InvocationHandler {
+ private static final Method CLOSE_METHOD;
+ private static final Method SHUTDOWN_METHOD;
+ private static final Method IS_OPEN_METHOD;
+ private static final Method IS_STALE_METHOD;
+
+ static {
+ try {
+ CLOSE_METHOD = HttpConnection.class.getMethod("close");
+ SHUTDOWN_METHOD = HttpConnection.class.getMethod("shutdown");
+ IS_OPEN_METHOD = HttpConnection.class.getMethod("isOpen");
+ IS_STALE_METHOD = HttpConnection.class.getMethod("isStale");
+ } catch (NoSuchMethodException ex) {
+ throw new Error(ex);
+ }
+ }
+
private volatile CPoolEntry poolEntry;
CPoolProxy(final CPoolEntry entry) {
@@ -104,16 +121,15 @@ class CPoolProxy implements InvocationHa
public Object invoke(
final Object proxy, final Method method, final Object[] args) throws Throwable {
- String mname = method.getName();
- if (mname.equals("close")) {
+ if (method.equals(CLOSE_METHOD)) {
close();
return null;
- } else if (mname.equals("shutdown")) {
+ } else if (method.equals(SHUTDOWN_METHOD)) {
shutdown();
return null;
- } else if (mname.equals("isOpen")) {
+ } else if (method.equals(IS_OPEN_METHOD)) {
return Boolean.valueOf(isOpen());
- } else if (mname.equals("isStale")) {
+ } else if (method.equals(IS_STALE_METHOD)) {
return Boolean.valueOf(isStale());
} else {
HttpClientConnection conn = getConnection();
@@ -137,7 +153,7 @@ class CPoolProxy implements InvocationHa
final CPoolEntry poolEntry) {
return (HttpClientConnection) Proxy.newProxyInstance(
CPoolProxy.class.getClassLoader(),
- new Class<?>[] { HttpClientConnection.class, SocketClientConnection.class, HttpContext.class },
+ new Class<?>[] { SocketClientConnection.class, HttpContext.class },
new CPoolProxy(poolEntry));
}
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.java?rev=1432452&r1=1432451&r2=1432452&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.java Sat Jan 12 15:25:59 2013
@@ -84,7 +84,8 @@ import org.apache.http.util.Asserts;
* @since 4.3
*/
@ThreadSafe
-public class PoolingHttpClientConnectionManager implements HttpClientConnectionManager, Closeable {
+public class PoolingHttpClientConnectionManager
+ implements HttpClientConnectionManager, ConnPoolControl<HttpRoute>, Closeable {
private final Log log = LogFactory.getLog(getClass());