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