billbarker    02/01/10 23:01:24

  Modified:    src/share/org/apache/tomcat/modules/config
                        LoaderInterceptor11.java
  Log:
  Allow the user to optionally configure to use the 1.1 loader even under Java2.
  
  SimpleClassLoader should handle replaced jar files better than URLClassLoader.  This 
makes this an option for people that want jar reloading, and can live without 
enforcement of Java2 Manifest options.  Hopefully this gives the best of 3.2 and 3.3 
for these people.
  
  Revision  Changes    Path
  1.24      +14 -1     
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/LoaderInterceptor11.java
  
  Index: LoaderInterceptor11.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/LoaderInterceptor11.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- LoaderInterceptor11.java  5 Dec 2001 11:26:57 -0000       1.23
  +++ LoaderInterceptor11.java  11 Jan 2002 07:01:24 -0000      1.24
  @@ -83,6 +83,7 @@
       boolean useCommonL=false;
       boolean useContainerL=false;
       boolean useNoParent=false;
  +    boolean use11Loader=false;
   
       boolean addJaxp=true;
       
  @@ -112,6 +113,13 @@
        useNoParent=b;
       }
   
  +    /** Use the 1.1 loader even if running under Java2.
  +     *  This allows for a work-around to the currently broken URLClassLoader
  +     *  which can't reload classes from changed jar files.
  +     */
  +    public void setUse11Loader( boolean b ) {
  +     use11Loader = b;
  +    }
   
       /** Directory where jaxp jars are installed. Defaults to
        tomcat_install/lib/container, where the parser used by
  @@ -324,7 +332,12 @@
            parent=this.getClass().getClassLoader();
        }
        
  -     ClassLoader loader=jdk11Compat.newClassLoaderInstance( classP, parent);
  +     ClassLoader loader=null;
  +     if( use11Loader ) {
  +         loader = new SimpleClassLoader(classP, parent);
  +     } else {
  +         loader=jdk11Compat.newClassLoaderInstance( classP, parent);
  +     }
        if( debug > 0 )
            log("Loader " + loader.getClass().getName() + " " + parent);
   
  
  
  

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

Reply via email to