Java Post请求时返回数据量过大,导致有时候接收数据会卡死。

对接HBASE接口的时候,发现调用HBASE接口时,获取的BASE64字符过大会导致POST请求超时。

然后我设置了超时时间等,发现还是会卡死在哪里,最后报了超时的异常。

最后在代码里加了 Thread.sleep(1);

inputStream = response.getEntity().getContent();
byte[] buffer = new byte[1024];
int readBytes = 0;
StringBuilder stringBuilder = new StringBuilder();
while((readBytes = inputStream.read(buffer)) > 0){
    Thread.sleep(1);
    stringBuilder.append(new String(buffer, 0, readBytes));
}

发现应该是数据量过大,而接收的数据会因为多次响应请求数据导致卡死。

目前用了一个野路子,每次获取数据的时候 用线程睡眠0.001秒。

 

 

你可能感兴趣的:(错误问题以及解决方案)