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]
>
>

Reply via email to