Yes, I did notice that they used struts which was also the reason I poked around there in the first place hoping to learn a thing or two :) .

Craig R. McClanahan wrote:

The server.xml file is read by the org.apache.catalina.startup.Catalina
class - see the createStartDigester() method for where it sets up all the
processing rules.  This is invoked before any of the webapps are actually
enabled.  The web.xml file for a particular web application (along with
the default configuration file $CATALINA_HOME/conf/web.xml) is read in
the org.apache.catalina.startup.ContextConfig class -- see the
defaultConfig() and applicationConfig() methods.  The Digester rules are
set up in createWebDigester().  This happens at one of several times:
* At startup time, when a <Context> element is found in web.xml
* At startup time, when a directory, WAR file, or XML file is
  found in the "webapps" directory
* While Tomcat is running, if a new WAR or directory is added
  to the "webapps" directory
* While Tomcat is running, if you use the Manager webapp's
  "install" or "deploy" commands.

The Tomcat admin webapp knows how to write back out to server.xml, but it
doesn't actually *read* that file.  Instead, it uses an API called Java
Management Extensions (JMX) to manage the configuration of all the
internal components of Tomcat itself.  In Tomcat 4.1, the JMX layer is
basically added on top of the existing Catalina architecture, so about the
only thing it does is manipulate the configuration in response to admin
webapp changes.  In Tomcat 5, JMX will be used much more aggressively --
not only for configuration management, but also for things like statistics
gathering.  It should be straightforward for JMX-enabled management tools
to easily configure and manage one or more Tomcat 5 installations.

If you look at the sources for the admin webapp, you will also note, of
course, that the developers were pretty smart -- they used Struts to build
this app :-).

Craig

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




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

Reply via email to