1 使用httpclient 4.2.4 与第三方通讯,发送post请求,在使用了一段时间后突然在linux服务器上出现了问题,
问题表现如下 1 第三方的服务确认正确提供无误 2 测试环境的网络确认通畅无误 3 测试环境服务器报错为 timeout waiting for connnection from pool。
解决办法:经查询了解原来是使用httpclient通讯的时候,建立起来的链接数太多,没有主动释放或关闭链接导致的问题。查明原因就好办了,在原来的通讯代码中加入如下finally代码块。使用结束后主动关闭就搞定。
finally {
try{
if(response != null){
response.getEntity().getContent().close();
}
}catch(IllegalStateException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}