I'm not sure if this helps with the discussion or not, but here goes.  

I haven't paid much attention to what happens when using httpclient within the 
xmlrpc framework, but around the days of httpclient v2.0, I used it extensively 
in a standalone fashion.  I did look at version 3.0 as well, but haven't looked 
at anything since.  But I assume what applied then will still apply now.

Anyway, I can confirm that the httpclient framework itself supports 
keep-alives.  I used WireShark (which was named Ethereal at the time) and paid 
pretty close attention to how it behaved.  If I remember right, it has a couple 
small idiosyncracies, like not being able to close it's side of a connection at 
the instant that the remote side closes it, but they had workarounds for this 
type of thing that prevented errors.  If I remember right, it would close it's 
side of the connection immediately before firing off the next transaction.  
This particular behavior may be corrected now.

I ended up using httpclient it for my project and it performed well.  I used it 
under pretty load, about 100k requests an hour and didn't run into any real 
issues.

I do remember that in order to enable keep-alives, the configuration was 
slightly different from the most basic configuration, but it was still very 
simple.

I had hoped to have a little more time to mess around with this within the 
framework of ws-xmlrpc and report results and give an example, but I just 
haven't been able to make the time.

-Mike


      

Reply via email to