On Thu, 2014-03-06 at 13:12 +0000, Alex, Joseph (Contractor) wrote:
> Thanks Oleg. This will help for new connections getting created to pick up 
> the new IP. But, how can we manage connections that were established and 
> exist in the pool when the DC switch is made? . I saw that connectionmanger 
> shutdown() will close all connections, but that would also make it and the 
> HttpClients unusable unless they are initialized again. Is there any way to 
> just flush all existing connections?
> 

HttpClientConnectionManager#closeIdleConnections(0, TimeUnit.SECONDS) is
your friend.

http://hc.apache.org/httpcomponents-client-4.3.x/tutorial/html/connmgmt.html#d5e380

Oleg

> -Joseph
> 
> -----Original Message-----
> From: Oleg Kalnichevski [mailto:ol...@apache.org] 
> Sent: Tuesday, March 04, 2014 8:14 AM
> To: HttpClient User Discussion
> Subject: Re: Connection Pool and DNS Resolution timeout
> 
> On Mon, 2014-03-03 at 12:59 +0000, Alex, Joseph (Contractor) wrote:
> > Hi,
> > 
> > We use HttpClient 3.1 and Httpcomponents 4.2.x in some of our apps with 
> > MultiThreadedHttpConnectionManager and PoolingClientConnectionManager 
> > respectively. Some of our server endpoints use a Global Name which can be 
> > switched to point to different data centers at runtime, depending on which 
> > one is active (with the other DC still being "alive"). Example 
> > www.global.com<http://www.global.com> which could either point to 
> > www.dc1.com<http://www.dc1.com> or www.dc2.com<http://www.dc2.com>. When 
> > this switch was done, we noticed that the connections were not picking up 
> > the new DC's IP and still routing to the old one. Assuming that the DNS 
> > resolution timeouts (networkaddress.cache.ttl) is set to a low value in the 
> > JVM, would the connection pool honor this value and reset the connections 
> > accordingly? . If they don't, what options do we have of ensuring that the 
> > connections are reset, and recreated with the new DNS resolution, without 
> > having to restart the JVM?
> > 
> > Thanks,
> > Joseph
> 
> Hi Joseph
> 
> HttpClient of all versions are fully reliant on the standard DNS resolution 
> mechanism provided by JRE. They also do not attempt to cache or re-use 
> resolved addresses, so 'networkaddress.cache.ttl' parameter should have 
> effect. 
> 
> Since HttpClient 4.2 though, one can plug in a custom DNS resolver 
> implementation [1] to replace or enhance the standard resolution mechanism. 
> 
> Hope this helps
> 
> Oleg
> 
> [1]
> http://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/conn/DnsResolver.html
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
> 
> 
> This message, including any attachments, is the property of Sears Holdings 
> Corporation and/or one of its subsidiaries. It is confidential and may 
> contain proprietary or legally privileged information. If you are not the 
> intended recipient, please delete it without reading the contents. Thank you.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to