hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: Problem closing resources using Apache HttpClient.
Date Thu, 03 Nov 2005 21:24:41 GMT
On Thu, 2005-11-03 at 20:57 +0000, Rudy Rusli wrote:
> I'm using Apache HTTPClient to connect to a data source.
> 
> I set the connection timeout and the socket timeout in the constructor of
> the
> class like the following:
> httpClient.getHttpConnectionManager().getParams().setSoTimeout(1000*60*2);
> httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000*
> 60*2);
> 
> In one of the methods in the class, I catch a SocketTimeoutException and
> close resources in the finally clause.
> try
> {
> GetMethod getMethodObject = new GetMethod(DATA_URL);
> int statusCode = httpClient.executeMethod(getMethodObject);
> responseBody = getMethodObject.getResponseBodyAsStream();
> reader = new BufferedReader(new InputStreamReader(responseBody));
> 
> String line= "";
> while( (line = reader.readLine()) != null )
> {
> ...
> }
> }
> catch(...)
> ...
> finally
> {
> if( reader != null )
> {
> try { reader.close(); }
> catch (Exception ex) { logger.warning("Could not close
> BufferedReader:"+ex);}
> }
> 
> if( responseBody != null )
> {
> try { responseBody.close(); }
> catch (Exception ex) { logger.warning("Could not close InputStream from
> the server."); }
> }
> 
> if( getMethodObject != null )
> {
> try { getMethodObject.releaseConnection(); }
> catch (Exception ex) { logger.warning("Could not release connection."); }
> }
> }
> 
> Once in a while when I get a SocketTimeoutException, I get the message
> could not close BufferedReader.
> These are the messages that I get:
> "Could not Close BufferedReader: java.net.SocketException:Connection Reset."
> "Could not Close BufferedReader: java.net.SocketTimeoutException:Read
> Timeout."
> 
> In other programs that use the same program flow, I get this message:
> "Could not Close BufferedReader: CRLF expected at the end of chunk"
> 
> These exceptions seem to happen randomly. I'm wondering what is going on
> with these exceptions.  Could somebody please advise?
> 
> Is there a way to get around all these exceptions?
> 

Rudy,
There is absolutely no reason to close the input stream if an I/O
exception has been thrown, as the underlying connection has already been
closed by HttpClient

Oleg

> Thanks in advance for all the help.
> I really appreciate it.
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
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