remm        2005/03/02 10:14:06

  Modified:    catalina/src/share/org/apache/catalina/core
                        StandardContext.java
  Log:
  - Fix context classloader binding during loader initialization (it was set to 
null before).
  - The webapp loader should only be retrieved when the context classloader is 
set to the webapp's classloader. The initialization of
    StandardContainer violates this by having its basic valve instantiated, 
which in turns gets the logger right away. This means it will use
    whatever logging configuration is defined for the server classloader :(
  
  Revision  Changes    Path
  1.166     +7 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.165
  retrieving revision 1.166
  diff -u -r1.165 -r1.166
  --- StandardContext.java      24 Feb 2005 17:11:06 -0000      1.165
  +++ StandardContext.java      2 Mar 2005 18:14:06 -0000       1.166
  @@ -4007,8 +4007,6 @@
                   // Start our subordinate components, if any
                   if ((loader != null) && (loader instanceof Lifecycle))
                       ((Lifecycle) loader).start();
  -                if ((logger != null) && (logger instanceof Lifecycle))
  -                    ((Lifecycle) logger).start();
   
                   // Unbinding thread
                   unbindThread(oldCCL);
  @@ -4016,6 +4014,8 @@
                   // Binding thread
                   oldCCL = bindThread();
   
  +                if ((logger != null) && (logger instanceof Lifecycle))
  +                    ((Lifecycle) logger).start();
                   if ((cluster != null) && (cluster instanceof Lifecycle))
                       ((Lifecycle) cluster).start();
                   if ((realm != null) && (realm instanceof Lifecycle))
  @@ -4483,8 +4483,10 @@
           if (getResources() == null)
               return oldContextClassLoader;
   
  -        Thread.currentThread().setContextClassLoader
  -            (getLoader().getClassLoader());
  +        if (getLoader().getClassLoader() != null) {
  +            Thread.currentThread().setContextClassLoader
  +                (getLoader().getClassLoader());
  +        }
   
           DirContextURLStreamHandler.bind(getResources());
   
  
  
  

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

Reply via email to