On Wed, 2010-12-15 at 17:44 +0100, Javier Ramos wrote:
> Thanks, Oleg
> 
> I understand that reusing an HttpClient instance is a recommended practice,
> ¿right?
> 
> If we push this reuse strategy to the limit then it should be best to have
> just one HttpClient with a ThreadSafeClientConnManager in a servlet only
> J2EE application (no EJB's).
> 
> I am thinking of wrapping this client in a singleton with
> 
> 1.- A method to configure the conection manager, to be called at context
> initialisation (max connections per host, max total connections, etc).
> 2.- A getter for the HttpClient instance, to be used everywhere in the
> application where an HttpClient is required
> 3.- A method to cleanup everything, to be called on context destroy (would
> call shutdown on the connection manager).
> 
> Does this setup make sense ?
> 

Makes sense to me.

> If it does, having just one instance of HttpClient would provide the
> opportunity to monitor it from a servlet. Being able to check the number of
> connections established with each host would be a very nice feature, for
> example. Or modifying the max connections per host at runtime. However, in
> the javadocs I do not find any methods that can allow this information to be
> obtained. Is it by design or am I missing something ?
> 

What about ThreadSafeClientConnManager#getConnectionsInPool?

http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.html#getConnectionsInPool%28%29
http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.html#getConnectionsInPool%28%29

Oleg



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to