remm        2003/08/29 16:11:31

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationContext.java ApplicationFilterChain.java
                        StandardHostValve.java StandardPipeline.java
  Log:
  - Avoid references leak: ckean up and recycle any TL resources.
  - Reset the context CL after invoking the pipeline.
  
  Revision  Changes    Path
  1.18      +12 -9     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
  
  Index: ApplicationContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ApplicationContext.java   16 Aug 2003 00:35:32 -0000      1.17
  +++ ApplicationContext.java   29 Aug 2003 23:11:31 -0000      1.18
  @@ -478,8 +478,6 @@
           if (mappingData == null) {
               mappingData = new MappingData();
               localMappingData.set(mappingData);
  -        } else {
  -            mappingData.recycle();
           }
   
           // Map the URI
  @@ -497,11 +495,16 @@
               return (null);
           }
   
  +        Wrapper wrapper = (Wrapper) mappingData.wrapper;
  +        String wrapperPath = mappingData.wrapperPath.toString();
  +        String pathInfo = mappingData.pathInfo.toString();
  +
  +        mappingData.recycle();
  +
           // Construct a RequestDispatcher to process this request
           return (RequestDispatcher) new ApplicationDispatcher
  -            ((Wrapper) mappingData.wrapper, uriCC.toString(),
  -             mappingData.wrapperPath.toString(),
  -             mappingData.pathInfo.toString(), queryString, null);
  +            (wrapper, uriCC.toString(), wrapperPath, pathInfo, 
  +             queryString, null);
   
       }
   
  
  
  
  1.7       +5 -4      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java
  
  Index: ApplicationFilterChain.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ApplicationFilterChain.java       25 May 2003 14:27:01 -0000      1.6
  +++ ApplicationFilterChain.java       29 Aug 2003 23:11:31 -0000      1.7
  @@ -343,6 +343,7 @@
           n = 0;
           pos = 0;
           servlet = null;
  +        support = null;
   
       }
   
  
  
  
  1.10      +7 -4      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardHostValve.java
  
  Index: StandardHostValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardHostValve.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StandardHostValve.java    16 Aug 2003 13:43:43 -0000      1.9
  +++ StandardHostValve.java    29 Aug 2003 23:11:31 -0000      1.10
  @@ -206,6 +206,9 @@
               status(request, response);
           }
   
  +        Thread.currentThread().setContextClassLoader
  +            (StandardHostValve.class.getClassLoader());
  +
       }
   
   
  
  
  
  1.14      +4 -3      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java
  
  Index: StandardPipeline.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- StandardPipeline.java     23 Jul 2003 13:31:59 -0000      1.13
  +++ StandardPipeline.java     29 Aug 2003 23:11:31 -0000      1.14
  @@ -562,6 +562,7 @@
   
           valveContext.set(basic, valves);
           valveContext.invokeNext(request, response);
  +        valveContext.set(null, null);
   
       }
   
  
  
  

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

Reply via email to