Hi Oleg,

HttpConnection.shutdown() seem to be perfect for this. Thanks.

However, one question remains. Is there a way to distinguish between the 
IOException thrown be shutdown and other (i.e. protocol/network related) 
IOException? As far as I can see, there is no special subclass for shutdown 
related IOException.

Kind regards,
**Roman

-----Original Message-----
From: Oleg Kalnichevski [mailto:[email protected]] 
Sent: 24 November 2010 22:20
To: HttpClient User Discussion
Subject: Re: Close/interrupt HTTP connections

On Wed, 2010-11-24 at 19:55 +0100, Roman Kennke wrote:
> Hello,
> 
> I need to be able to close/interrupt an active connection. The only ways to 
> achieve this, as far as I understand it, is to:
> - Close the socket from a 2nd thread. This would throw a SocketConnection on 
> the blocked thread. In order to implement this, I would need to get a 
> reference to the actual socket. Is that possible?

This is precisely what HttpConnection#shutdown() does. Please also note
that HttpUriRequest#abort() is intended to abort the request at any
stage of execution (while leasing or opening a new connection or while
transmitting data). You do not really have to mess with sockets.

> - Interrupt the blocked thread. This is only possible when using NIO 
> SocketChannels. Is there a way to use HttpClient with NIO SocketChannel? I 
> know that HttpCore supports this, but then I don't easily get cookie and 
> proxy support. Is there a way to hook this up into HttpClient?

I am currently working on an asynchronous version of HttpClient based on
HttpCore NIO.

Cheers

Oleg


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


This communication is for informational purposes only. It is not
intended as an offer or solicitation for the purchase or sale of
any financial instrument or as an official confirmation of any
transaction. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change
without notice. Any comments or statements made herein do not
necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.

Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to European legal entities.

Reply via email to