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 ? 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 ? Thanks a lot, Javier 2010/11/15 Oleg Kalnichevski <[email protected]> > On Mon, 2010-11-15 at 13:21 +0100, Javier Ramos wrote: > > Thanks for your feedback, Oleg > > > > We are doing with just a servlet container (Tomcat) > > My apologies, Javier. I mis-interpreted the subject of your message and > assumed you were using a full-blown J2EE application server. > > > > I guess that to follow your recommendation with minimal changes to our > > productive environment we would have to try OpenEJB. > > Using ThreadSafeClientConnManager inside a servlet container is also > > discouraged, right ? > > > > There is absolutely no need to drag in OpenEJB with all its dependencies > just to maintain a pool of HTTP connections. I do not think the Servlet > specification imposes any restrictions on thread synchronization in the > web tier components. > > > Is anybody using such configurations, or is willing to drop a comment ? ( > > Tomcat + OpenEJB + HttpClient, or Tomcat + ThreadSafeClientConnManager ) > > > > I have used HttpClient 3 and HttpClient 4 with a pooling connection > manager inside various servlet containers such as Tomcat and WebLogic > without any issues. > > Oleg > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
