我有一个使用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被关闭?
先谢谢
答案 0 :(得分:1)
你是在紧密循环中对你的数据库执行一堆sql语句吗?
如果是这样,请确保对每个人执行stmt.close()。