bloritsch    2003/10/17 14:04:24

  Modified:    src/java/org/apache/cocoon/bean CocoonBean.java
  Log:
  Commit the update for CocoonBean to ensure the classes are only loaded once.
  
  Revision  Changes    Path
  1.38      +7 -0      
cocoon-2.2/src/java/org/apache/cocoon/bean/CocoonBean.java
  
  Index: CocoonBean.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/java/org/apache/cocoon/bean/CocoonBean.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- CocoonBean.java   17 Oct 2003 20:57:11 -0000      1.37
  +++ CocoonBean.java   17 Oct 2003 21:04:24 -0000      1.38
  @@ -89,6 +89,7 @@
       private String m_instrumentConfigURI = m_contextURI + File.separator + 
"cocoon.instruments";
       private long m_threadTimeOut = 60l * 1000l;
       private ClassLoader m_parentClassLoader;
  +    private boolean m_alreadyLoaded;
   
       public CocoonBean()
       {
  @@ -96,6 +97,7 @@
           m_parentClassLoader = Thread.currentThread().getContextClassLoader();
           m_initializationLogger = new NullLogger();
           m_contManager = null;
  +        m_alreadyLoaded = false;
       }
   
       public Processor getRootProcessor()
  @@ -274,6 +276,8 @@
   
       private void forceLoadClasses()
       {
  +        if ( m_alreadyLoaded ) return;
  +
           m_initializationLogger.debug("Loading classes");
   
           Iterator it = m_classForceLoadList.iterator();
  @@ -291,12 +295,15 @@
                   m_initializationLogger.warn("Could not load class: " + 
className, e);
               }
           }
  +
  +        m_alreadyLoaded = true;
       }
   
       public void dispose()
       {
           m_initializationLogger.debug("Shutting down Cocoon");
           ContainerUtil.dispose( m_contManager );
  +        m_contManager = null;
       }
   
       public void finalize() throws Throwable
  
  
  

Reply via email to