I guess the problem is really mine. I was somewhat expecting the connection to be released after it gets a "connection: close".
/** * A test that illustrates the problem with connections not being recovered from a "Connection: close" response. */ public void testConnectionPool() throws IOException, HttpException { final MultiThreadedHttpConnectionManager manager = new MultiThreadedHttpConnectionManager(); HttpClient httpClient = new HttpClient(manager); httpClient.getHostConfiguration().setHost("www.slashdot.org", 80, "http"); httpClient.setHttpConnectionFactoryTimeout(2000); // wait up to 2 seconds when getting a HttpConnection for (int i = 0; i < 30; i++) { HttpMethod method = new GetMethod("http://www.slashdot.org/notfound"); int res = httpClient.executeMethod(method); // System.gc(); // method.releaseConnection(); } } Uncommenting either of the last two lines makes the problem go away... ----- Original Message ----- From: "Michael Becke" <[EMAIL PROTECTED]> To: "Commons HttpClient Project" <[EMAIL PROTECTED]> Sent: Sunday, February 02, 2003 6:18 AM Subject: Re: Running out of connections > Hello Simon, > > Sorry to be replying so late. Connections are released when: > > 1) the response is fully read > 2) the connection is manually released via > HttpMethod.releaseConnection() or HttpConnection.releaseConnection() > 3) the garbage collector runs and reclaims any connections that are no > longer being used > > The most reliable way is to manually release the connection after use. > This goes for successful or unsuccessful requests. Can you send a > sample of the code you are using that causes this problem? > > Mike > > On Wednesday, January 29, 2003, at 09:04 PM, Simon Roberts wrote: > > > Gidday, > > > > With the current CVS version, I seem to be having a problem where I > > run out of connections to a server. It happens if I do a bunch of > > HTTP operations that fail (404, as it happens) and the reply include a > > "Connection: close". If no garbage-collect happens then the > > connections are not freed! > > > > Shouldn't we expire them if we're running out of connections? > > > > Cheers, Simon > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]