Yes, absolutely. The HTTP/1.1 RFC says you should make 2 connections per host, and HttpClient obeys that strictly out-of-the-box (side note: web browsers do not anymore).
A 'route' in HttpClient is typically defined as protocol (HTTP/HTTPS) + host + port. I see there are some additional options in 4.1.x for tunneling, but the three I listed will be the primary ones. See section 2.8.4 in http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html. You'll want to change either the default max per route or the max for an individual route. Hope this helps, Sam On 4 August 2011 14:55, KARR, DAVID (ATTSI) <[email protected]> wrote: >> -----Original Message----- >> From: Russell Brown [mailto:[email protected]] >> Sent: Thursday, August 04, 2011 12:04 AM >> To: HttpClient User Discussion >> Subject: Re: Using ThreadSafeClientConnManager >> >> On 4 Aug 2011, at 01:18, Mohit Anchlia wrote: >> >> > I am trying to understand these 2: >> > >> > ClientConnectionManager cm = new ThreadSafeClientConnManager(); >> > cm.setMaxTotal(100); >> > HttpClient httpClient = new DefaultHttpClient(cm); >> > >> > Have couple of questions: >> > >> > 1) Can one httpClient object be shared accross multiple threads doing >> > post/get/delete/put requests? >> >> Yes. >> >> > 2) What happens in above case if there are more concurrent threads >> say >> > 200 than actual no. of connections? So what happens if 200 threads >> > trying to use httpClient object (shared). But we created only 100 >> > connections. Does it wait on .execute if all connections are busy? >> >> The thread attempting to acquire a connection blocks. If you have set a >> timeout then it blocks until the timeout is reached and an exception is >> thrown. >> >> Worth noting, in your above snippet the max connections per route will >> only be *2*. > > Sorry to the OP to hijack this question, but I'd like to understand a little > more about this. Is a "route" defined as the path to a particular host? If > all of my connections go to the same host, and I'll have numerous threads > trying to make that connection, do I need to change some default to allow > more than 2 connections per "route"? > >> > Can somone please help me understand? >> > >> > --------------------------------------------------------------------- >> > 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] > > > --------------------------------------------------------------------- > 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]
