diff options
author | Simone Bordet | 2011-02-22 10:38:00 +0000 |
---|---|---|
committer | Simone Bordet | 2011-02-22 10:38:00 +0000 |
commit | 0ace68632c696690a92135cc78c84ba8e427a042 (patch) | |
tree | efa95ba35fc1480b9d30bd8dbfb37fdb303c7516 | |
parent | 22e142a8715cd92f844d9fbb340102f3062fede4 (diff) | |
download | org.eclipse.jetty.project-0ace68632c696690a92135cc78c84ba8e427a042.tar.gz org.eclipse.jetty.project-0ace68632c696690a92135cc78c84ba8e427a042.tar.xz org.eclipse.jetty.project-0ace68632c696690a92135cc78c84ba8e427a042.zip |
Fixes JETTY-1335 (HttpClient's SelectConnector clean-up)
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2815 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r-- | VERSION.txt | 3 | ||||
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java | 19 | ||||
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java | 32 |
3 files changed, 17 insertions, 37 deletions
diff --git a/VERSION.txt b/VERSION.txt index 88342e2350..ba87b665b9 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,5 +1,5 @@ jetty-7.3.1-SNAPSHOT - + 316382 Support a more strict SSL option with certificates + + 316382 Support a more strict SSL option with certificates + 333481 Handle UCS-4 codepoints in decode and encode + 335329 Moved blocking timeout handling to outside try catch + 336668 policy supports cert validation @@ -15,6 +15,7 @@ jetty-7.3.1-SNAPSHOT + 337746 Fixed Session deIdle recursion + 337784 Improve HashSessionManager for session migrations + JETTY-1331 Allow alternate XML configuration processors (eg spring) + + JETTY-1335 HttpClient's SelectConnector clean-up jetty-7.3.0.v20110203 3 February 2011 + JETTY-1259 NullPointerException in JDBCSessionIdManager when invalidating session (further update) diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java index bc66617654..27660d7043 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java @@ -22,7 +22,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; - import javax.net.ssl.SSLContext; import org.eclipse.jetty.client.security.Authentication; @@ -75,7 +74,7 @@ public class HttpClient extends HttpBuffers implements Attributes private int _connectorType = CONNECTOR_SELECT_CHANNEL; private boolean _useDirectBuffers = true; - private boolean _asyncConnects = false; + private boolean _connectBlocking = true; private int _maxConnectionsPerAddress = Integer.MAX_VALUE; private ConcurrentMap<Address, HttpDestination> _destinations = new ConcurrentHashMap<Address, HttpDestination>(); ThreadPool _threadPool; @@ -97,12 +96,12 @@ public class HttpClient extends HttpBuffers implements Attributes private RealmResolver _realmResolver; private AttributesMap _attributes=new AttributesMap(); - + public HttpClient() { this(new SslContextFactory()); } - + public HttpClient(SslContextFactory sslContextFactory) { _sslContextFactory = sslContextFactory; @@ -112,9 +111,9 @@ public class HttpClient extends HttpBuffers implements Attributes /** * @return True if connects will be in blocking mode. */ - public boolean isAsyncConnects() + public boolean isConnectBlocking() { - return _asyncConnects; + return _connectBlocking; } /* ------------------------------------------------------------------------------- */ @@ -123,7 +122,7 @@ public class HttpClient extends HttpBuffers implements Attributes */ public void setAsyncConnects(boolean blockingConnects) { - _asyncConnects = blockingConnects; + _connectBlocking = blockingConnects; } /* ------------------------------------------------------------------------------- */ @@ -463,7 +462,7 @@ public class HttpClient extends HttpBuffers implements Attributes } _sslContextFactory.start(); - + if (_connectorType == CONNECTOR_SELECT_CHANNEL) { @@ -509,7 +508,7 @@ public class HttpClient extends HttpBuffers implements Attributes _connector.stop(); _connector = null; _sslContextFactory.stop(); - + if (_threadPool instanceof LifeCycle) { ((LifeCycle)_threadPool).stop(); @@ -549,7 +548,7 @@ public class HttpClient extends HttpBuffers implements Attributes { return _sslContextFactory; } - + /* ------------------------------------------------------------ */ /** * @return the period in milliseconds a {@link HttpConnection} can be idle for before it is closed. diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java b/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java index 2e674f4fb2..9570a4b150 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java @@ -19,7 +19,6 @@ import java.nio.channels.SelectionKey; import java.nio.channels.SocketChannel; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; - import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLSession; @@ -46,10 +45,9 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, private final HttpClient _httpClient; private final Manager _selectorManager=new Manager(); private final Timeout _connectTimer = new Timeout(); - private final Map<SocketChannel, Timeout.Task> _connectingChannels = new ConcurrentHashMap<SocketChannel, Timeout.Task>(); + private final Map<SocketChannel, Timeout.Task> _connectingChannels = new ConcurrentHashMap<SocketChannel, Timeout.Task>(); private SSLContext _sslContext; private Buffers _sslBuffers; - private boolean _blockingConnect; /** * @param httpClient @@ -60,32 +58,14 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, } /* ------------------------------------------------------------ */ - /** Get the blockingConnect. - * @return the blockingConnect - */ - public boolean isBlockingConnect() - { - return _blockingConnect; - } - - /* ------------------------------------------------------------ */ - /** Set the blockingConnect. - * @param blockingConnect If true, connections are made in blocking mode. - */ - public void setBlockingConnect(boolean blockingConnect) - { - _blockingConnect = blockingConnect; - } - - /* ------------------------------------------------------------ */ @Override protected void doStart() throws Exception { super.doStart(); _connectTimer.setDuration(_httpClient.getConnectTimeout()); _connectTimer.setNow(); - - if (_httpClient.isAsyncConnects()) + + if (!_httpClient.isConnectBlocking()) { _httpClient._threadPool.dispatch(new Runnable() { @@ -107,7 +87,7 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, } }); } - + _selectorManager.start(); final boolean direct=_httpClient.getUseDirectBuffers(); @@ -170,7 +150,7 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, Address address = destination.isProxied() ? destination.getProxy() : destination.getAddress(); channel.socket().setTcpNoDelay(true); - if (_httpClient.isAsyncConnects()) + if (!_httpClient.isConnectBlocking()) { channel.configureBlocking( false ); channel.connect(address.toSocketAddress()); @@ -189,7 +169,7 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, _selectorManager.register( channel, destination ); } - + } catch(IOException ex) { |