remm        2005/09/08 08:00:57

  Modified:    catalina/src/share/org/apache/catalina/loader
                        WebappClassLoader.java
               webapps/docs changelog.xml
               util/java/org/apache/tomcat/util IntrospectionUtils.java
  Log:
  - 36558: Clear introspection utils cache, which could leak a reference to the
    webapp classloader.
  
  Revision  Changes    Path
  1.50      +4 -1      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
  
  Index: WebappClassLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- WebappClassLoader.java    4 May 2005 07:30:24 -0000       1.49
  +++ WebappClassLoader.java    8 Sep 2005 15:00:54 -0000       1.50
  @@ -56,6 +56,7 @@
   import org.apache.naming.JndiPermission;
   import org.apache.naming.resources.Resource;
   import org.apache.naming.resources.ResourceAttributes;
  +import org.apache.tomcat.util.IntrospectionUtils;
   import org.apache.tomcat.util.compat.JdkCompat;
   
   /**
  @@ -1514,6 +1515,8 @@
           org.apache.commons.logging.LogFactory.release(this);
           // Clear the classloader reference in the VM's bean introspector
           java.beans.Introspector.flushCaches();
  +        // Clear the IntrospectionUtils cache
  +        IntrospectionUtils.clear();
   
       }
   
  
  
  
  1.370     +4 -0      jakarta-tomcat-catalina/webapps/docs/changelog.xml
  
  Index: changelog.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v
  retrieving revision 1.369
  retrieving revision 1.370
  diff -u -r1.369 -r1.370
  --- changelog.xml     8 Sep 2005 10:45:14 -0000       1.369
  +++ changelog.xml     8 Sep 2005 15:00:54 -0000       1.370
  @@ -52,6 +52,10 @@
         <fix>
           <bug>36534</bug>: fix equals for URLs returned by 
ServletContext.getResource() (luehe)
         </fix>
  +      <fix>
  +        <bug>36558</bug>: Clear IntrospectionUtils cache when stopping a 
webapp, as it 
  +        could leak to keeping a reference to the classloader (remm)
  +      </fix>
       </changelog>
     </subsection>
     
  
  
  
  1.16      +4 -0      
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java
  
  Index: IntrospectionUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- IntrospectionUtils.java   26 Jun 2005 21:19:28 -0000      1.15
  +++ IntrospectionUtils.java   8 Sep 2005 15:00:55 -0000       1.16
  @@ -757,6 +757,10 @@
       }
   
       // -------------------- other utils --------------------
  +    public static void clear() {
  +        objectMethods.clear();
  +    }
  +    
       public static String[] findVoidSetters(Class c) {
           Method m[] = findMethods(c);
           if (m == null)
  
  
  

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

Reply via email to