Jakarta ee 如何处理java.net.SocketException:打开的文件太多

Jakarta ee 如何处理java.net.SocketException:打开的文件太多,jakarta-ee,struts2,socketexception,Jakarta Ee,Struts2,Socketexception,我们的是一个Struts2 java Web应用程序,使用hibernate 3.5 ORM。当我们在应用程序上执行一些并行操作时,我们得到了以下异常,java进程cpu利用率达到了最大值 May 15, 2012 12:39:59 AM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.net.SocketExc

我们的是一个Struts2 java Web应用程序,使用hibernate 3.5 ORM。当我们在应用程序上执行一些并行操作时,我们得到了以下异常,java进程cpu利用率达到了最大值

May 15, 2012 12:39:59 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:59)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:210)
    at java.lang.Thread.run(Thread.java:662)

请相应地建议我们。

我想您是在基于linux的操作系统上?似乎需要增加每个进程的最大文件句柄数


请看这里:

它超出了打开文件描述的数量限制。解决方案:增加打开文件数量的硬限制和软限制

软文件999999 硬文件999999 在/etc/security/limits.conf文件中