tomcat 接收请求出现 java.io.IOException: Too many open files

狂热的土豆 2015-08-07 07:37:40
我写了一个简单的servlet,放在tomcat里跑,然后写了一个循环向tomcat发请求,一秒钟两条,几个小时后tomcat报出
SEVERE [http-nio-80-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:686)
at java.lang.Thread.run(Thread.java:745)

文件句柄数已经设置成65535
...全文
1255 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
西北苍狼 2017-06-08
  • 打赏
  • 举报
回复
问题解决了吗
狂热的土豆 2015-08-08
  • 打赏
  • 举报
回复
引用 1 楼 bill0605030109 的回复:
代码贴出来一下,是不是操作了文件,然后没有close掉。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, UnsupportedEncodingException { Map parameterMap = request.getParameterMap(); Map<String, String> sysEnv = System.getenv(); Properties props = new Properties(); props.setProperty("zookeeper.connect",sysEnv.get("zookeeper_connect")); props.setProperty("serializer.class",sysEnv.get("serializer_class")); props.setProperty("metadata.broker.list",sysEnv.get("metadata_broker_list")); String topic = sysEnv.get("topic"); Producer<Integer, String> producer = new Producer<Integer, String>(new ProducerConfig(props)); StringBuffer analysisMessage = getAnalysisMessage(parameterMap); producer.send(new KeyedMessage<Integer, String>(topic, analysisMessage.toString())); } private StringBuffer getAnalysisMessage(Map parameterMap) throws UnsupportedEncodingException { StringBuffer queryString = new StringBuffer(""); for(Iterator it = parameterMap.entrySet().iterator();it.hasNext();){ Map.Entry<String, String[]> en = (Map.Entry<String, String[]>)it.next(); String k = en.getKey(); String v = en.getValue()[0]; v = new String(v.getBytes("UTF-8")); queryString.append(k).append("=").append(v); if(it.hasNext()){ queryString.append("&"); } } return queryString; }
qq_30442899 2015-08-07
  • 打赏
  • 举报
回复
看着是io异常,检查一下是否有文件类的操作,如有看流是否正常关闭
scmod 2015-08-07
  • 打赏
  • 举报
回复
是不是有些超时断开的时间调短点 好像多了本来就会这样?
  • 打赏
  • 举报
回复
代码贴出来一下,是不是操作了文件,然后没有close掉。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧