From: Bill B. <bb...@re...> - 2010-10-28 20:49:27
|
Well, that sucks... the ClientResponse has a finalize method that is supposed to clean up the response on garbage collection. Maybe there is a race condition here? Try catching the ClientResponseFailure and doing a ClientResponseFailure.releaseConnection() I'll try reproducing the problem too. For errors, I may have to read and cache the input stream so that the connection can be closed instead of relying on garbage collection to clean things up. Guess we're going to have to do a hot 2.0.2 release to fix this problem. On 10/28/10 2:32 PM, Leandro Ferro Luzia wrote: > Hi! > > I'm getting the following error using the client framework version 2.0.1.GA: > > java.lang.RuntimeException: > org.apache.commons.httpclient.ConnectionPoolTimeoutException: Timeout > waiting > for connection > > at org.jboss.resteasy.client.core.ClientInvoker.invoke(ClientInvoker.java:96) > > at org.jboss.resteasy.client.core.ClientProxy.invoke(ClientProxy.java:72) > > I'm using org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor. > I noted that this error occurs after 30 404 responses returned by the > server, and 30 is exactly the maxConnectionsPerHost configured in my > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager. > > I think the client is not properly closing the connections when an > error is returned by the server. > > I tested with version 1.2.1 and the error doesn't occur. > > []'s > > -- Bill Burke JBoss, a division of Red Hat http://bill.burkecentral.com |