luehe       2004/04/16 14:50:49

  Modified:    jasper2/src/share/org/apache/jasper/servlet JspServlet.java
  Log:
  Moved check for JSP resource existence into synchronized block (if 
JspServletWrapper==null), to avoid having multiple threads check for it simultaneously
  
  Revision  Changes    Path
  1.35      +14 -12    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JspServlet.java
  
  Index: JspServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JspServlet.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- JspServlet.java   17 Mar 2004 19:23:05 -0000      1.34
  +++ JspServlet.java   16 Apr 2004 21:50:49 -0000      1.35
  @@ -252,21 +252,23 @@
           JspServletWrapper wrapper =
               (JspServletWrapper) rctxt.getWrapper(jspUri);
           if (wrapper == null) {
  -            // First check if the requested JSP page exists, to avoid
  -            // creating unnecessary directories and files.
  -            InputStream resourceStream = context.getResourceAsStream(jspUri);
  -            if (resourceStream == null) {
  -                response.sendError(HttpServletResponse.SC_NOT_FOUND, jspUri);
  -                return;
  -            } else {
  -                try {
  -                    resourceStream.close();
  -                } catch(IOException e) { /* ignore */ }
  -            }
  -            boolean isErrorPage = exception != null;
               synchronized(this) {
                   wrapper = (JspServletWrapper) rctxt.getWrapper(jspUri);
                   if (wrapper == null) {
  +                    // Check if the requested JSP page exists, to avoid
  +                    // creating unnecessary directories and files.
  +                    InputStream resourceStream =
  +                        context.getResourceAsStream(jspUri);
  +                    if (resourceStream == null) {
  +                        response.sendError(HttpServletResponse.SC_NOT_FOUND,
  +                                           jspUri);
  +                        return;
  +                    } else {
  +                        try {
  +                            resourceStream.close();
  +                        } catch(IOException e) { /* ignore */ }
  +                    }
  +                    boolean isErrorPage = exception != null;
                       wrapper = new JspServletWrapper(config, options, jspUri,
                                                       isErrorPage, rctxt);
                       rctxt.addWrapper(jspUri,wrapper);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to