You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/06/15 09:09:11 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardContext.java
remm 2003/06/15 00:09:10
Modified: catalina/src/share/org/apache/catalina/core
StandardContext.java
Log:
- The context needs to be registered in JMX before starting the pipeline.
Otherwise, the valves will not get unregistered properly when undeploying.
- I hope this does not cause other problems, but a fix was clearly needed.
Revision Changes Path
1.64 +29 -7 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.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- StandardContext.java 29 May 2003 04:13:24 -0000 1.63
+++ StandardContext.java 15 Jun 2003 07:09:10 -0000 1.64
@@ -3867,7 +3867,7 @@
// Set config file name
String appBase = getAppBase();
- if (getConfigFile() == null && appBase != null) {
+ if ((getConfigFile() == null) && (appBase != null)) {
String name = getName();
if (name.equals("")) {
@@ -4020,6 +4020,9 @@
// Initialize associated mapper
mapper.setContext(getPath(), welcomeFiles, resources);
+ // JMX registration
+ registerJMX();
+
// Start our child containers, if any
Container children[] = findChildren();
for (int i = 0; i < children.length; i++) {
@@ -4128,12 +4131,20 @@
}
setAvailable(false);
}
- registerJMX();
+
+ // Wrappers JMX registration
+ registerWrappersJMX();
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null);
startTime=System.currentTimeMillis();
-
+
+ // Close all JARs right away to avoid always opening a peak number
+ // of files on startup
+ if (getLoader() instanceof WebappLoader) {
+ ((WebappLoader) getLoader()).closeJARs(true);
+ }
+
//cacheContext();
}
@@ -4363,10 +4374,13 @@
((StandardManager) getManager()).processExpires();
}
- if (reloadable && (getLoader() != null)) {
- if (getLoader().modified()) {
+ if (getLoader() != null) {
+ if (reloadable && (getLoader().modified())) {
reload();
}
+ if (getLoader() instanceof WebappLoader) {
+ ((WebappLoader) getLoader()).closeJARs(false);
+ }
}
}
@@ -5007,13 +5021,21 @@
Registry.getRegistry().registerComponent(this,oname, null);
}
}
+ } catch( Exception ex ) {
+ log.info("Error registering ctx with jmx " + this + " " +
+ oname + " " + ex.toString(), ex );
+ }
+ }
+
+ private void registerWrappersJMX() {
+ try {
for( Iterator it=wrappers.iterator(); it.hasNext() ; ) {
StandardWrapper wrapper=(StandardWrapper)it.next();
// XXX prevent duplicated registration
wrapper.registerJMX( this );
}
} catch( Exception ex ) {
- log.info("Error registering ctx with jmx " + this + " " +
+ log.info("Error registering wrapper with jmx " + this + " " +
oname + " " + ex.toString(), ex );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org