craigmcc    01/02/07 17:58:07

  Modified:    catalina/src/share/org/apache/catalina/loader
                        StandardClassLoader.java
  Log:
  Add some additional debugging instrumentation to assist in locating the
  "package sealing violation" exception problem.
  
  Revision  Changes    Path
  1.10      +24 -6     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StandardClassLoader.java  2001/02/04 00:50:40     1.9
  +++ StandardClassLoader.java  2001/02/08 01:58:06     1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
 1.9 2001/02/04 00:50:40 glenn Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/02/04 00:50:40 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
 1.10 2001/02/08 01:58:06 craigmcc Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/02/08 01:58:06 $
    *
    * ====================================================================
    *
  @@ -109,7 +109,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.9 $ $Date: 2001/02/04 00:50:40 $
  + * @version $Revision: 1.10 $ $Date: 2001/02/08 01:58:06 $
    */
   
   public class StandardClassLoader
  @@ -620,8 +620,12 @@
               int i = name.lastIndexOf('.');
               if (i >= 0) {
                   try {
  +                 if (debug >= 4)
  +                     log("      securityManager.checkPackageDefinition");
                       securityManager.checkPackageDefinition(name.substring(0,i));
                   } catch (Exception se) {
  +                 if (debug >= 4)
  +                     log("      -->Exception-->ClassNotFoundException", se);
                    throw new ClassNotFoundException(name);
                   }
               }
  @@ -631,7 +635,15 @@
           // (throws ClassNotFoundException if it is not found)
           Class clazz = null;
           try {
  -            clazz = super.findClass(name);
  +         if (debug >= 4)
  +             log("      super.findClass(" + name + ")");
  +         try {
  +             clazz = super.findClass(name);
  +         } catch (RuntimeException e) {
  +             if (debug >= 4)
  +                 log("      -->RuntimeException Rethrown", e);
  +             throw e;
  +         }
               if (clazz == null) {
                   if (debug >= 3)
                       log("    --> Returning ClassNotFoundException");
  @@ -639,7 +651,7 @@
               }
           } catch (ClassNotFoundException e) {
               if (debug >= 3)
  -                log("    --> Passing on ClassNotFoundException");
  +                log("    --> Passing on ClassNotFoundException", e);
               throw e;
           }
   
  @@ -649,6 +661,8 @@
                   continue;
               String pathname =
                   repositories[i].substring(0, repositories[i].length() - 1);
  +         if (debug >= 4)
  +             log("      Checking repository " + pathname);
               if (pathname.startsWith("file://"))
                   pathname = pathname.substring(7);
               else if (pathname.startsWith("file:"))
  @@ -667,6 +681,10 @@
           }
   
           // Return the class we have located
  +     if (debug >= 4)
  +         log("      Returning class " + clazz);
  +     if ((debug >= 4) && (clazz != null))
  +         log("      Loaded by " + clazz.getClassLoader());
           return (clazz);
   
       }
  
  
  

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

Reply via email to