hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Köll <...@newbase.de>
Subject Re: Cancelling HttpMethods
Date Thu, 12 Jan 2006 15:11:07 GMT
Hi Oleg,

thanks for your reply. See inline...

>> I'm working on a GUI program, where HttpMethods are executed on the 
>> request of the user. As e.g. in a Webbrowser, I would like to enable 
>> unpatient users to cancel requests that take too long.
>>
>> I currently don't see any possibilities to cancel a running request from 
>>   a separate thread, though. Neither HttpMethod.abort() nor 
>> Thread.interrupt() have any effect. 
> 
> HttpMethod#abort closes the underlying socket. This effectively kills
> the connection. What other effect do you expect? 

I was testing a case where HttpClient was trying to connect to an 
unreachable host and abort() didn't have any effect. OTH, even Firefox 
goes into a limbo in such cases, so I guess I bear with that...

>> While thinking about this problem, I'm having problems understanding the 
>> purpose of the HttpMethod.abort() method. It clearly isn't intended for 
>> use from separate threads because no synchronization is performed.
> 
> It is not supposed to synchronise on any object instance in
> HttpMethodBase class as all the magic happens in HttpConnection and
> java.net.Socket classes 

Hmm, shouldn't at least HttpMethodBase.aborted and 
HttpMethodBase.responseConnection be synchronized, because these 
attributes can obviously be accessed from different threads when using 
abort()? Also, I don't see any synchronization in HttpConnection either.

Oliver


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Mime
View raw message