I have a webapp running on Tomcat 6.0.16 under Red Hat 4 Linux (version
2.6.22.7).

99% of the time it runs fine. But every once in a while, one of the JSP
pages (that was working just fine) will stop working. When I try to access
that JSP, Tomcat gets a JasperException, with this root cause exception:

java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

When this happens, I reboot Tomcat, and then the JSP works again. (This
would seem to rule out the possibility that someone is modifying the JSP and
causing it to not be compileable.)

If I had to make a wild guess, it seems that perhaps Tomcat has an internal
cache of class files, which becomes corrupt.

Has anyone else seen this? Is there a fix or workaround?

Thanks,
Mike

Reply via email to