Hi I have implemented a global HttpClient with a ThreadSafeClientConnManager. The default max connections per route is set to 1. I also set up the URL to access to be on another machine. I then create and start 2 threads to call my HttpClient. The first one completes in a reasonable time; the second one takes a bit too long. When I analyse the context logs, I see that in the first thread, the time between the following two messages is very close:
2011-06-29 14:37:56,981 Thread-1 DEBUG org.apache.http.impl.client.DefaultHttpClient - Connection can be kept alive indefinitely 2011-06-29 14:37:56,981 Thread-1 DEBUG org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager - Released connection is reusable. However, I am consistently seeing a 1 second gap for the second thread (which was notified at 14:37:56.981 that a connection was now available, as expected) between these two messages: 2011-06-29 14:37:56,997 Thread-2 DEBUG org.apache.http.impl.client.DefaultHttpClient - Connection can be kept alive indefinitely 2011-06-29 14:37:58,169 Thread-2 DEBUG org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager - Released connection is reusable. I have tried adding lines such as EntityUtils.consume(entity) and inputstream.close() but they made no difference (it seems that connections are released anyway without them according to the debug above). Could anyone explain this gap? If the URL I connect to is on my local machine, it doesn't seem to occur ... Obviously, it does mean that my performance isn't what I'd like it to be (or feel confident in). -- View this message in context: http://old.nabble.com/Threads-sometimes-wait-for-unnecessary-%7E1s-to-access-connections-in-pool-for-HttpClient-4.1.1-tp31961903p31961903.html Sent from the HttpClient-User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
