axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 16522] - Allow Axis HTTP 1.1 clients to use Keep-Alive
Date Wed, 05 Mar 2003 21:30:30 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16522>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16522

Allow Axis HTTP 1.1 clients to use Keep-Alive

Eric.D.Friedman@wellsfargo.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|LATER                       |



------- Additional Comments From Eric.D.Friedman@wellsfargo.com  2003-03-05 21:30 -------
I think the proposed patch should be rejected as it is not threadsafe.  It 
creates an instance variable on the HTTPSender to hold a socket across 
requests, but there is only one, stateless instance of HTTPSender in the Axis 
runtime through which all messages are funneled.  The proposed patch does 
nothing to ensure that one thread doesn't change the socket connection out from 
under another thread. (imagine two threads entering the invoke() method in 
close proximity)

Even if the socket could be reused, two concurrent threads that want to 
communicate with the same remote host would collide over the I/O of a single 
socket.

Further, even if the threading problem were resolved, the proposed solution 
would only keep one socket alive at a time, which is not a very robust/scalable 
solution.  

A better approach, IMHO, would be to update the CommonsHTTPSender class so that 
that class would maintain a reference to a MultiThreadedHttpConnectionManager 
instance that can manage a pool of heterogeneous connections in a threadsafe 
manner.  I have made the necessary changes to CommonsHTTPSender to make this 
happen -- the outstanding issue is how to expose the commons-httpclient apis 
for configuring the pool through the axis framework -- could it be done through 
WSDD?

Mime
View raw message