You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Victor Popiol <vp...@douwantit.com> on 2002/06/26 16:33:13 UTC

RE: Tomcat 4.0.4 Performance - PROBLEM

I set up Jasper2 on Tomcat 4.0.3 as previously recomended. Our webapp worked great. But other webapps, inclding the JSP examples don't work. Wehen invoking a jsp such as this: http://host:8080/examples/jsp/dates/date.jsp this exception is displayed:

javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:946)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
	at java.lang.Thread.run(Thread.java:479)


root cause 

java.lang.NullPointerException
	at org.apache.jasper.compiler.TldLocationsCache.processJars(TldLocationsCache.java:203)
	at org.apache.jasper.compiler.TldLocationsCache.(TldLocationsCache.java:139)
	at org.apache.jasper.EmbededServletOptions.(EmbededServletOptions.java:414)
	at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:128)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
	at java.lang.Thread.run(Thread.java:479)


Any ideas?

Thanks
Victor

-----Original Message-----
From: Victor Popiol 
Sent: Tuesday, June 25, 2002 10:39 PM
To: Tomcat Users List
Subject: RE: Tomcat 4.0.4 Performance - FYI


So far, Tomcat 4.0.4 with Jasper2 has passed our stress test for memory leaks. 

Regards
Victor

-----Original Message-----
From: Victor Popiol 
Sent: Tuesday, June 25, 2002 4:58 PM
To: Tomcat Users List
Subject: RE: Tomcat 4.0.4 Performance


The performance is indeed much better.

I'm off to run our stress test script to see if the memory leak shows up (or not).

I'll keep you all posted.

Regards
Victor

-----Original Message-----
From: Remy Maucherat [mailto:remm@apache.org]
Sent: Tuesday, June 25, 2002 4:20 PM
To: Tomcat Users List
Subject: Re: Tomcat 4.0.4 Performance


peter lin wrote:
> Victor, you'll also need ant.jar along with the jasper jar files.  give
> that a try and it will dramatically improve performance, if your
> performance problems are due to jsp tags.

Oooo, Peter is right. Add ant.jar to the lib folder also.
Thanks Peter.

Remy


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Tomcat 4.0.4 Performance - PROBLEM

Posted by peter lin <pe...@labs.gte.com>.
hi victor,

it worked fine for me with tomcat 4.0.3 and jasper2 on win2k.  It looks
like it couldn't load something.  Did you delete the working folders
maybe? Here is the generated file I got.

peter


------------------------------------------------------------
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.apache.jasper.runtime.*;

public class date$jsp extends HttpJspBase {


  private static java.util.Vector _jspx_includes;

  public java.util.List getIncludes() {
    return _jspx_includes;
  }

  public void _jspService(HttpServletRequest request,
HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    javax.servlet.jsp.PageContext pageContext = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;ISO-8859-1");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, false, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("<html>\r\n");
      out.write("<!--\r\n  Copyright (c) 1999 The Apache Software
Foundation.  All rights \r\n  reserved.\r\n-->\r\n\r\n");
      out.write("\r\n\r\n");
      out.write("<body bgcolor=\"white\">\r\n");
      dates.JspCalendar clock = null;
      synchronized (pageContext) {
        clock = (dates.JspCalendar) pageContext.getAttribute("clock",
PageContext.PAGE_SCOPE);
        if (clock == null){
          try {
            clock = (dates.JspCalendar)
java.beans.Beans.instantiate(this.getClass().getClassLoader(),
"dates.JspCalendar");
          } catch (ClassNotFoundException exc) {
            throw new InstantiationException(exc.getMessage());
          } catch (Exception exc) {
            throw new ServletException("Cannot create bean of class " +
"dates.JspCalendar", exc);
          }
          pageContext.setAttribute("clock", clock,
PageContext.PAGE_SCOPE);
        }
      }
      out.write("\r\n\r\n");
      out.write("<font size=4>\r\n");
      out.write("<ul>\r\n");
      out.write("<li>\tDay of month: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getDayOfMonth())));
      out.write("\r\n");
      out.write("<li>\tYear: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getYear())));
      out.write("\r\n");
      out.write("<li>\tMonth: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getMonth())));
      out.write("\r\n");
      out.write("<li>\tTime: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getTime())));
      out.write("\r\n");
      out.write("<li>\tDate: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getDate())));
      out.write("\r\n");
      out.write("<li>\tDay: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getDay())));
      out.write("\r\n");
      out.write("<li>\tDay Of Year: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getDayOfYear())));
      out.write("\r\n");
      out.write("<li>\tWeek Of Year: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getWeekOfYear())));
      out.write("\r\n");
      out.write("<li>\tera: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getEra())));
      out.write("\r\n");
      out.write("<li>\tDST Offset: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getDSTOffset())));
      out.write("\r\n");
      out.write("<li>\tZone Offset: is  ");
     
out.print(JspRuntimeLibrary.toString((((dates.JspCalendar)pageContext.findAttribute("clock")).getZoneOffset())));
      out.write("\r\n");
      out.write("</ul>\r\n");
      out.write("</font>\r\n\r\n");
      out.write("</body>\r\n");
      out.write("</html>\r\n");
    } catch (Throwable t) {
      out = _jspx_out;
      if (out != null && out.getBufferSize() != 0)
        out.clearBuffer();
      if (pageContext != null) pageContext.handlePageException(t);
    } finally {
      if (_jspxFactory != null)
_jspxFactory.releasePageContext(pageContext);
    }
  }
}

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Tomcat 4.0.4 Performance - PROBLEM

Posted by Remy Maucherat <re...@apache.org>.
Victor Popiol wrote:
> I set up Jasper2 on Tomcat 4.0.3 as previously recomended. Our webapp worked great. But other webapps, inclding the JSP examples don't work. Wehen invoking a jsp such as this: http://host:8080/examples/jsp/dates/date.jsp this exception is displayed:

For this Jasper 2 build (fairly old, and has a bug), you need to have a 
/WEB-INF/lib folder (even if it is empty). This got fixed since then.

Remy


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>