aspose file tools*
The moose likes I/O and Streams and the fly likes java.net.SocketException: Connection reset while reading a large file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "java.net.SocketException: Connection reset while reading a large file" Watch "java.net.SocketException: Connection reset while reading a large file" New topic
Author

java.net.SocketException: Connection reset while reading a large file

Deepthi Musunuru
Greenhorn

Joined: Jan 15, 2014
Posts: 3
We have built java based REST Webservices for the mobile app to interact with Sharepoint server. We are hosting webservices on weblogic server. Textual data is transferred in JSON format and file assets are transferred to iPad application as a binary stream. We are using HTTP GET to retrieve the file asset from the sharepoint. We have been noticing issues while trying to retrieve file assets which are greater than 20MB and only in production environment.

For files greater than 20MB, we have been noticing java.net.SocketException:Connection reset or java.net.SocketException: Socket closed depending on when the socket is closed.

We are using Apache HTTPClient 4.2 as http client and apache commons IO library for IO copy.

Below is the code -


This is only happening in production and uat environments where we cannot have wireshark installed to debug this further. Have validated the sharepoint setting and weblogic settings and they are same as other environments.

Below is the stack trace of the error -

Thanks!
Luan Cestari
Ranch Hand

Joined: Feb 07, 2010
Posts: 162

The connection reset comes from the client side (not the server you are getting the date), which means a stale object/connection. I saw that the CloseShieldInputStream ( http://grepcode.com/file/repo1.maven.org/maven2/commons-io/commons-io/2.0.1/org/apache/commons/io/input/CloseShieldInputStream.java ) doesn't close the connection, so you need to close the contentStream in the finally block.

Best regards,
Luan


Please, visit me for some cool tech post at www.ourdailycodes.com
 
jQuery in Action, 2nd edition
 
subject: java.net.SocketException: Connection reset while reading a large file