Spring ResourceServlet throws too many open files exception in jetty and tomcat under linux

Posted by atomsfat on Stack Overflow See other posts from Stack Overflow or by atomsfat
Published on 2010-05-21T20:57:48Z Indexed on 2010/05/25 13:01 UTC
Read the original article Hit count: 520

Filed under:
|
|
|

I was running the petclinic example that was created with spring roo, also I test booking-mvc example that comes whit spring webflow 2.0.9 and the same happens, this is when I reload the main page many times.

If I remove the lines from both examples there is no error.

< spring:theme code="styleSheet" var="theme_css"/>
            <spring:url value="/${theme_css}" var="theme_css_url"/>


            <spring:url value="/resources/dojo/dojo.js" var="dojo_url"/>
            <spring:url value="/resources/dijit/themes/tundra/tundra.css" var="tundra_url"/>
            <spring:url value="/resources/spring/Spring.js" var="spring_url"/>
            <spring:url value="/resources/spring/Spring-Dojo.js" var="spring_dojo_url"/>
            <spring:url value="/static/images/favicon.ico" var="favicon" />
            <link rel="stylesheet" type="text/css" media="screen" href="${theme_css_url}"><!-- //required for FF3 and Opera --></link>
            <link rel="stylesheet" type="text/css" href="${tundra_url}"><!-- //required for FF3 and Opera --></link>
            <link rel="SHORTCUT ICON" href="${favicon}" />


            <script src="${dojo_url}" type="text/javascript" ><!-- //required for FF3 and Opera --></script>
            <script src="${spring_url}" type="text/javascript"><!-- //required for FF3 and Opera --></script>
            <script src="${spring_dojo_url}" type="text/javascript"><!-- //required for FF3 and Opera --></script>
            <script language="JavaScript" type="text/javascript">dojo.require("dojo.parser");</script>

So I can deduce that this is something related with this servlet

   <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
    </servlet>


    <!--
                Map all /resources requests to the Resource Servlet for handling
        -->
    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/resources/*</url-pattern>
    </servlet-mapping>

Running the example injetty 6.1.10, tomcat 1.6, in fedora 12 with java 1.6.20, make errors. but in aix and websphere no errors, and tomcat 1.6 and windows no errors, I think that this is something related with linux.

STACKTRACE
    2010-05-21 12:53:07.733::WARN:  Nested in org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.tiles.impl.CannotRenderException: ServletException including path '/WEB-INF/layouts/default.jspx'.:
        org.apache.tiles.impl.CannotRenderException: ServletException including path '/WEB-INF/layouts/default.jspx'.
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:691)
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:643)
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:626)
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322)
         at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:100)
         at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
         at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
         at org.mortbay.jetty.servlet.Dispatcher.error(Dispatcher.java:135)
         at org.mortbay.jetty.servlet.ErrorPageErrorHandler.handle(ErrorPageErrorHandler.java:121)
         at org.mortbay.jetty.Response.sendError(Response.java:274)
         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:429)
         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
         at org.mortbay.jetty.Server.handle(Server.java:324)
         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
         at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
        Caused by: org.apache.tiles.util.TilesIOException: ServletException including path '/WEB-INF/layouts/default.jspx'.
         at org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:232)
         at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:243)
         at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)
         at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)
         at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:103)
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:669)
         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:689)
         ... 38 more
        Caused by: java.io.FileNotFoundException: /home/tsalazar/Workspace/test/roo_clinic/src/main/webapp/WEB-INF/web.xml (Too many open files)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(FileInputStream.java:106)
         at java.io.FileInputStream.<init>(FileInputStream.java:66)
         at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
         at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
         at java.net.URL.openStream(URL.java:1010)
         at org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:114)
         at org.apache.jasper.compiler.JspConfig.init(JspConfig.java:295)
         at org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:360)
         at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:141)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:409)
         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
         at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
         ... 43 more

© Stack Overflow or respective owner

Related posts about java

Related posts about linux