我有一个使用 AppFuse 和 mysql 数据库的应用程序
问题是有时会抛出以下异常:
Jan 27, 2011 4:54:56 AM org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
SEVERE: Endpoint ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080] ignored exception: java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:368)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:549)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:619)
2011 年 1 月 27 日上午 4:54:56 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket。
谁能告诉我出现该异常的主要原因?如果该异常会导致 tomcat 被关闭?
提前致谢
最佳答案
您是否在紧密循环中针对您的数据库执行了一堆 sql 语句?
如果是这样,请确保对每一个都执行 stmt.close()。
关于java.net.SocketException : Too many open files 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912402/