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]

Reply via email to