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.
