奥德赛F9 发表于 2019-1-27 11:14:39

httpclient操作引发Too many open files

  来自:http://www.54chen.com/java-ee/java-httpclient-too-many-open-files.html
  实际上,HttpClient建立Socket时 ,post.releaseConnection()并没有真正关闭连接,而是将该连接提交给 MultiThreadedHttpConnectionManager,等待复用。
  而http的连接是等待timeout才会自动断开的,所以,当用完系统的句柄后,自然会报Too many open files
  解决办法:
  设置post方法的header,增加红色字体部分的配置:
  HttpClient client = new HttpClient();
  client.getParams().setBooleanParameter(
  "http.protocol.expect-continue", false);
  PostMethod method = new PostMethod(url);
  method.addRequestHeader("Connection", "close");

页: [1]
查看完整版本: httpclient操作引发Too many open files