Author: markt Date: Sun Mar 28 12:30:09 2010 New Revision: 928389 URL: http://svn.apache.org/viewvc?rev=928389&view=rev Log: Clarify autoDeploy behaviour. Make more consistent both internally and with Tomcat 7 docs.
Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/host.xml Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/host.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/host.xml?rev=928389&r1=928388&r2=928389&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/config/host.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/config/host.xml Sun Mar 28 12:30:09 2010 @@ -61,9 +61,9 @@ <blockquote><em> <p>The description below uses the variable name $CATALINA_BASE to refer the base directory against which most relative paths are resolved. If you have - not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE + not configured Tomcat for multiple instances by setting a CATALINA_BASE directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME, - the directory into which you have installed Tomcat 6.</p> + the directory into which you have installed Tomcat.</p> </em></blockquote> </section> @@ -82,18 +82,23 @@ <p>The <em>Application Base</em> directory for this virtual host. This is the pathname of a directory that may contain web applications to be deployed on this virtual host. You may specify an - absolute pathname for this directory, or a pathname that is relative - to the <code>$CATALINA_BASE</code> directory. See + absolute pathname, or a pathname that is relative to the + <code>$CATALINA_BASE</code> directory. See <a href="#Automatic Application Deployment">Automatic Application Deployment</a> for more information on automatic recognition and - deployment of web applications to be deployed automatically. If not - specified, the default of <code>webapps</code> will be used.</p> + deployment of web applications. If not specified, the default of + <code>webapps</code> will be used.</p> </attribute> <attribute name="autoDeploy" required="false"> - <p>This flag value indicates if new web applications, dropped in to - the <code>appBase</code> directory while Tomcat is running, should - be automatically deployed. The flag's value defaults to true. See + <p>This flag value indicates if Tomcat should check periodically for new + or updated web applications while Tomcat is running. If true, Tomcat + periodically checks the <code>appBase</code> and + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> + directories and deploys any new web applications or context XML + descriptors found. Updated web applications or context XML descriptors + will trigger a reload of the web application. The flag's value defaults + to true. See <a href="#Automatic Application Deployment">Automatic Application Deployment</a> for more information.</p> </attribute> @@ -122,8 +127,8 @@ <attribute name="deployOnStartup" required="false"> <p>This flag value indicates if web applications from this host should - be automatically deployed by the host configurator. - The flag's value defaults to true. See + be automatically deployed when Tomcat starts. The flag's value defaults + to true. See <a href="#Automatic Application Deployment">Automatic Application Deployment</a> for more information.</p> </attribute> @@ -154,14 +159,15 @@ <attributes> <attribute name="deployXML" required="false"> - <p>Set to <code>false</code> if you want to disable parsing the context.xml - file embedded inside the application (located at <code>/META-INF/context.xml</code>). - Security conscious environments should set this to <code>false</code> to prevent - applications from interacting with the container's configuration. The - administrator will then be responsible for providing an external context - configuration file, and put it in - <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code>. - The flag's value defaults to <code>true</code>.</p> + <p>Set to <code>false</code> if you want to disable parsing the context + XML descriptor embedded inside the application (located at + <code>/META-INF/context.xml</code>). Security conscious environments + should set this to <code>false</code> to prevent applications from + interacting with the container's configuration. The administrator will + then be responsible for providing an external context configuration + file, and putting it in + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code>. The flag's + value defaults to <code>true</code>.</p> </attribute> <attribute name="errorReportValveClass" required="false"> @@ -180,7 +186,8 @@ placed in the <code>appBase</code> directory as web application archive (WAR) files to be unpacked into a corresponding disk directory structure, <code>false</code> to run such web applications directly - from a WAR file. See + from a WAR file. WAR files located outside of the Host's + <strong>appBase</strong> will not be expanded. See <a href="#Automatic Application Deployment">Automatic Application Deployment</a> for more information.</p> </attribute> @@ -232,7 +239,7 @@ <subsection name="Logging"> <p>A host is associated with the - <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname]</code> + <code>org.apache.catalina.core.ContainerBase.[engine_name].[host_name]</code> log category. Note that the brackets are part of the name, don't omit them.</p> @@ -277,41 +284,73 @@ started, if the <code>deployOnStartup</code> property is set to <code>true</code> (which is the default value):</p> <ul> - <li>Any XML file in the - <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> directory is - assumed to contain a + <li>Any XML file in + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> is + assumed to be a context XML descriptor containing a <a href="context.html">Context</a> element (and its associated - subelements) for a single web application. The <code>docBase</code> - attribute of this <code><Context></code> element will typically - be the absolute pathname to a web application directory, or the - absolute pathname of a web application archive (WAR) file (which - will not be expanded). The path attribute will be automatically set - as defined in the <a href="context.html">Context</a> documentation.</li> - <li>Any web application archive file within the application base (appBase) - directory that does not have a corresponding - directory of the same name (without the ".war" extension) will be - automatically expanded, unless the <code>unpackWARs</code> property - is set to <code>false</code>. If you redeploy an updated WAR file, - be sure to delete the expanded directory when restarting Tomcat, so - that the updated WAR file will be re-expanded (note that the auto - deployer, if enabled, will automatically expand the updated WAR file - once the previously expanded directory is removed). Multi-level contexts - may be defined by using #, e.g. use a WAR named <code>foo#bar.war</code> - for a context path of <code>/foo/bar</code>.</li> - <li>Any subdirectory within the <em>application base directory</em> - will receive an automatically generated <a href="context.html"> - Context</a> element, even if this directory is not mentioned in the - <code>conf/server.xml</code> file. The context path for this - deployed Context will be a slash character ("/") followed by the - directory name, unless the directory name is ROOT, in which case - the context path will be an empty string (""). Multi-level contexts - may be defined by using #, e.g. use a directory named <code>foo#bar</code> - for a context path of <code>/foo/bar</code>.</li> + sub-elements) for a single web application. The web applications + associated with each of these context XML descriptor files will be + deployed first.<br/> + The <code>docBase</code> attribute of this <code><Context></code> + element must only be set if the docBase is outside the Host's + <code>appBase</code>. For web applications located inside the Host's + <code>appBase</code>, the <code>docBase</code> will be the name of the + XML file with ".xml" replaced with ".war" for a web application archive + or the name of the XML file with ".xml" removed for a directory.<br/> + The <code>path</code> attribute must not be set. The context path used + will be a slash character ("/") followed by the name of the XML file + (less the .xml extension). Multi-level context paths may be defined + using #, e.g. <code>foo#bar.xml</code> for a context path of + <code>/foo/bar</code>. The default web application that has a context + path of <code>/</code> may be defined by using a file called + <code>ROOT.xml</code>.</li> + <li>Any web application archive file within the Host's <code>appBase</code> + directory that has not already been deployed as a result of a context + XML descriptor and does not have a corresponding directory of the same + name (without the ".war" extension) will be deployed next. The context + path used will be a slash character ("/") followed by the web + application archive name less the ".war" extension. The one exception to + this rule is that a web application archive named "ROOT.war" will be + deployed with a context path of <code>/</code>. Multi-level contexts may + be defined by using #, e.g. use a WAR named <code>foo#bar.war</code> for + a context path of <code>/foo/bar</code>.<br/> + If the <code>unpackWARs</code> attribute is <code>true</code>, the web + application archive file will be expanded to a directory of the same + name (without the ".war" extension".<br/> + Note: If you re-deploy an updated WAR file while Tomcat is stopped, be + sure to delete the associated expanded directory before restarting + Tomcat, so that the updated WAR file will be re-expanded when Tomcat + restarts.<br/> + Any web application archive file within the Hosts's <code>appBase</code> + directory that does not have a corresponding context XML descriptor + (with a ".xml" extension rather than a ".war" extension) in + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> will be + scanned to see if it contains a context XML descriptor (located at + <code>/META-INF/context.xml</code>) and if one is found the descriptor + will be copied to the + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> directory and + renamed. + </li> + <li>Finally, any sub-directory within the Host's <code>appBase</code> that + has not already been deployed as a result of a context XML descriptor + will be deployed. The context path used will be a slash character + ("/") followed by the directory name, unless the directory name is ROOT, + in which case the context path will <code>/</code>. Multi-level contexts + may be defined by using #, e.g. use a directory named + <code>foo#bar</code> for a context path of <code>/foo/bar</code>.<br/> + Any directory within the Hosts's <code>appBase</code> directory that + does not have a corresponding context XML descriptor in + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> will be + scanned to see if it contains a context XML descriptor (located at + <code>/META-INF/context.xml</code>) and if one is found the descriptor + will be copied to + <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> and renamed. + </li> </ul> <p>In addition to the automatic deployment that occurs at startup time, you can also request that new XML configuration files, WAR files, or - subdirectories that are dropped in to the <code>appBase</code> (or + sub-directories that are dropped in to the <code>appBase</code> (or <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> in the case of an XML configuration file) directory while Tomcat is running will be automatically deployed, according to the rules described above. The @@ -355,9 +394,10 @@ may be experienced deploying the web application or the application may be deployed twice.</p> - <p>Finally, note that if you are defining contexts explicitly, you should - probably turn off automatic application deployment. Otherwise, your context - will be deployed twice each, and that may cause problems for your app. + <p>Finally, note that if you are defining contexts explicitly in server.xml, + you should probably turn off automatic application deployment. Otherwise, + the web applications will each be deployed twice, and that may cause + problems for the applications. </p> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org