java.net.SocketTimeoutException: Read timed out 错误解决

这两天项目在测试环境下通过URLConnection 做数据传递时,出现了如下错误 
java.net.SocketTimeoutException: Read timed out 

经过查找研究,原因是: 
客户端没有在限定的时间内将数据发送给服务器,服务器为了保证服务性能,认定那个连接已经失效,所以出现上述异常。 

由此得出解决方案为: 
增大客户端的超时时间。 

 
//设置超时时间
int timeOut = 30000;
System.setProperty("sun.net.client.defaultConnectTimeout", String
        .valueOf(timeOut));// (单位:毫秒)
System.setProperty("sun.net.client.defaultReadTimeout", String
        .valueOf(timeOut)); // (单位:毫秒)
socket.setSoTimeout(timeOut);//设置超时时间