On Tue, 11 Feb 2003, Peng Tuck Kwok wrote:
> Yes it is very cool and nice to use :) . I've done some simple things > with it based on a tutorial I followed from the site. One question > though, I've been poking around the admin webapp source in tomcat, which > file actually reads the server.xml? Or is the contents of server.xml > already made available to the webapp? 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]

