初始提交
diff --git a/tomcat-uid/webapps/docs/config/ajp.html b/tomcat-uid/webapps/docs/config/ajp.html
new file mode 100644
index 0000000..830e271
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/ajp.html
@@ -0,0 +1,281 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The AJP Connector</title><meta name="author" content="Remy Maucherat"><meta name="author" content="Yoav Shapira"><meta name="author" content="Andrew R. Jaquith"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The AJP Connector</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementations">Standard Implementations</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>AJP Connector</strong> element represents a

+  <strong>Connector</strong> component that communicates with a web

+  connector via the <code>AJP</code> protocol.  This is used for cases

+  where you wish to invisibly integrate Tomcat 6 into an existing (or new)

+  Apache installation, and you want Apache to handle the static content

+  contained in the web application, and/or utilize Apache's SSL

+  processing.</p>

+

+  <p>This connector supports load balancing when used in conjunction with

+  the <code>jvmRoute</code> attribute of the 

+  <a href="engine.html">Engine</a>.</p>

+

+<p>The native connectors supported with this Tomcat release are:

+<ul>

+  <li>JK 1.2.x with any of the supported servers</li>

+  <li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), 

+      with AJP enabled: see

+      <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html">the httpd docs</a>

+      for details.</li>

+</ul>

+</p>

+

+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>All implementations of <strong>Connector</strong>

+  support the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allowTrace</code></td><td align="left" valign="center">

+      <p>A boolean value which can be used to enable or disable the TRACE

+      HTTP method. If not specified, this attribute is set to false.</p>

+    </td></tr><tr><td align="left" valign="center"><code>emptySessionPath</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, all paths for session cookies will be set

+      to <code>/</code>. This can be useful for portlet specification implementations.

+      If not specified, this attribute is set to <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>enableLookups</code></td><td align="left" valign="center">

+      <p>Set to <code>true</code> if you want calls to

+      <code>request.getRemoteHost()</code> to perform DNS lookups in

+      order to return the actual host name of the remote client.  Set

+      to <code>false</code> to skip the DNS lookup and return the IP

+      address in String form instead (thereby improving performance).

+      By default, DNS lookups are disabled.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxHeaderCount</code></td><td align="left" valign="center">

+      <p>The maximum number of headers in a request that are allowed by the

+      container. A request that contains more headers than the specified limit

+      will be rejected. A value of less than 0 means no limit.

+      If not specified, a default of 100 is used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxParameterCount</code></td><td align="left" valign="center">

+      <p>The maximum number of parameters (GET plus POST) which will be

+      automatically parsed by the container. A value of less than 0 means no

+      limit. If not specified, a default of 10000 is used. Note that

+      <code>FailedRequestFilter</code> <a href="filter.html">filter</a> can be

+      used to reject requests that hit the limit.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxPostSize</code></td><td align="left" valign="center">

+      <p>The maximum size in bytes of the POST which will be handled by

+      the container FORM URL parameter parsing. The feature can be disabled by

+      setting this attribute to a value less than or equal to 0.

+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxSavePostSize</code></td><td align="left" valign="center">

+      <p>The maximum size in bytes of the POST which will be saved/buffered by

+      the container during FORM or CLIENT-CERT authentication. For both types

+      of authentication, the POST will be saved/buffered before the user is

+      authenticated. For CLIENT-CERT authentication, the POST is buffered for

+      the duration of the SSL handshake and the buffer emptied when the request

+      is processed. For FORM authentication the POST is saved whilst the user

+      is re-directed to the login form and is retained until the user

+      successfully authenticates or the session associated with the

+      authentication request expires. The limit can be disabled by setting this

+      attribute to -1. Setting the attribute to zero will disable the saving of

+      POST data during authentication. If not specified, this attribute is set

+      to 4096 (4 kilobytes).</p>

+    </td></tr><tr><td align="left" valign="center"><code>parseBodyMethods</code></td><td align="left" valign="center">

+      <p>A comma-separated list of HTTP methods for which request

+      bodies will be parsed for request parameters identically

+      to POST. This is useful in RESTful applications that want to

+      support POST-style semantics for PUT requests.

+      Note that any setting other than <code>POST</code> causes Tomcat

+      to behave in a way that does against the intent of the servlet

+      specification.

+      The HTTP method TRACE is specifically forbidden here in accordance

+      with the HTTP specification.

+      The default is <code>POST</code></p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+      <p>The TCP port number on which this <strong>Connector</strong>

+      will create a server socket and await incoming connections.  Your

+      operating system will allow only one server application to listen

+      to a particular port number on a particular IP address.</p>

+    </td></tr><tr><td align="left" valign="center"><code>protocol</code></td><td align="left" valign="center">

+      <p>Sets the protocol to handle incoming traffic. The default value is

+        <code>AJP/1.3</code> and configures

+        <code>org.apache.jk.server.JkCoyoteHandler</code> the original blocking

+        Java connector by default.<br>

+        If the <code>PATH</code> (Windows) or <code>LD_LIBRARY_PATH</code>

+        (on most unix systems) environment variables contain the Tomcat

+        native library, the native/APR connector will automatically be

+        configured instead.<br>

+        To use an explicit protocol rather than rely on the auto-switching

+        mechanism described above, the following values may be used:<br>

+        <code>org.apache.jk.server.JkCoyoteHandler</code>

+        - original blocking Java connector<br>

+        <code>org.apache.coyote.ajp.AjpProtocol</code>

+        - new blocking Java connector that supports an executor<br>

+        <code>org.apache.coyote.ajp.AjpAprProtocol</code>

+        - the APR/native connector.<br>

+      Custom implementations may also be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>proxyName</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is being used in a proxy

+      configuration, configure this attribute to specify the server name

+      to be returned for calls to <code>request.getServerName()</code>.

+      See <a href="#Proxy Support">Proxy Support</a> for more

+      information.</p>

+    </td></tr><tr><td align="left" valign="center"><code>proxyPort</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is being used in a proxy

+      configuration, configure this attribute to specify the server port

+      to be returned for calls to <code>request.getServerPort()</code>.

+      See <a href="#Proxy Support">Proxy Support</a> for more

+      information.</p>

+    </td></tr><tr><td align="left" valign="center"><code>redirectPort</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is supporting non-SSL

+      requests, and a request is received for which a matching

+      <code>&lt;security-constraint&gt;</code> requires SSL transport,

+      Catalina will automatically redirect the request to the port

+      number specified here.</p>

+    </td></tr><tr><td align="left" valign="center"><code>request.registerRequests</code></td><td align="left" valign="center">

+      <p>This attribute controls request registration for JMX monitoring

+      of the Connector.  It is enabled by default, but may be turned

+      it off to save a bit of memory.</p>

+    </td></tr><tr><td align="left" valign="center"><code>scheme</code></td><td align="left" valign="center">

+      <p>Set this attribute to the name of the protocol you wish to have

+      returned by calls to <code>request.getScheme()</code>.  For

+      example, you would set this attribute to "<code>https</code>"

+      for an SSL Connector.  The default value is "<code>http</code>".

+      See <a href="#SSL Support">SSL Support</a> for more information.</p>

+    </td></tr><tr><td align="left" valign="center"><code>secure</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> if you wish to have

+      calls to <code>request.isSecure()</code> to return <code>true</code>

+      for requests received by this Connector (you would want this on an

+      SSL Connector).  The default value is <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>URIEncoding</code></td><td align="left" valign="center">

+      <p>This specifies the character encoding used to decode the URI bytes,

+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>useBodyEncodingForURI</code></td><td align="left" valign="center">

+      <p>This specifies if the encoding specified in contentType should be used

+      for URI query parameters, instead of using the URIEncoding. This

+      setting is present for compatibility with Tomcat 4.1.x, where the

+      encoding specified in the contentType, or explicitly set using

+      Request.setCharacterEncoding method was also used for the parameters from

+      the URL. The default value is <code>false</code>.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>useIPVHosts</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> to cause Tomcat to use

+      the ServerName passed by the native web server to determine the Host

+      to send the request to.  The default value is <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>xpoweredBy</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise

+      support for the Servlet specification using the header recommended in the

+      specification.  The default value is <code>false</code>.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementations"><!--()--></a><a name="Standard_Implementations"><strong>Standard Implementations</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>To use AJP, you

+  must specify the protocol attribute (see above).</p>

+

+  <p><strong>These implementations support the AJP 1.3 protocol.</strong></p>

+

+  <p>They support the following additional attributes (in addition to the

+  common attributes listed above):</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>address</code></td><td align="left" valign="center">

+      <p>For servers with more than one IP address, this attribute

+      specifies which address will be used for listening on the specified

+      port.  By default, this port will be used on all IP addresses

+      associated with the server. A value of <code>127.0.0.1</code>

+      indicates that the Connector will only listen on the loopback

+      interface.</p>

+    </td></tr><tr><td align="left" valign="center"><code>backlog</code></td><td align="left" valign="center">

+      <p>The maximum queue length for incoming connection requests when

+      all possible request processing threads are in use.  Any requests

+      received when the queue is full will be refused.  The default

+      value is 100.</p>

+    </td></tr><tr><td align="left" valign="center"><code>bufferSize</code></td><td align="left" valign="center">

+      <p>The size of the output buffer to use.  If less than or equal to zero,

+         then output buffering is disabled.  The default value is -1

+         (i.e. buffering disabled)</p>

+    </td></tr><tr><td align="left" valign="center"><code>clientCertProvider</code></td><td align="left" valign="center">

+      <p>When client certificate information is presented in a form other than

+      instances of <code>java.security.cert.X509Certificate</code> it needs to

+      be converted before it can be used and this property controls which JSSE

+      provider is used to perform the conversion. For example it is used with

+      the AJP connectors, the <a href="http.html">HTTP APR connector</a> and

+      with the <a href="valve.html#SSL_Authenticator_Valve">

+      org.apache.catalina.valves.SSLValve</a>.If not specified, the default

+      provider will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>connectionTimeout</code></td><td align="left" valign="center">

+      <p>The number of milliseconds this <strong>Connector</strong> will wait,

+      after accepting a connection, for the request URI line to be

+      presented.  The default value is infinite (i.e. no timeout).</p>

+    </td></tr><tr><td align="left" valign="center"><code>deferAccept</code></td><td align="left" valign="center">

+      <p>Sets the <code>TCP_DEFER_ACCEPT</code> flag on the listening socket for

+      this connector. The default value is <code>true</code> where

+      <code>TCP_DEFER_ACCEPT</code> is supported by the operating system,

+      otherwise it is <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>executor</code></td><td align="left" valign="center">

+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.

+         If this attribute is enabled, and the named executor exists, the connector will

+         use the executor, and all the other thread attributes will be ignored.

+         This attribute is not supported by the original blocking Java

+         connector.</p>

+    </td></tr><tr><td align="left" valign="center"><code>keepAliveTimeout</code></td><td align="left" valign="center">

+      <p>The number of milliseconds this <strong>Connector</strong> will wait for

+       another AJP request before closing the connection.

+       The default value is to use the value that has been set for the

+       connectionTimeout attribute.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">

+      <p>The maximum number of request processing threads to be created

+      by this <strong>Connector</strong>, which therefore determines the

+      maximum number of simultaneous requests that can be handled.  If

+      not specified, this attribute is set to 200. If an executor is associated

+      with this connector, this attribute is ignored as the connector will 

+      execute tasks using the executor rather than an internal thread pool.</p>

+    </td></tr><tr><td align="left" valign="center"><code>packetSize</code></td><td align="left" valign="center">

+      <p>This attribute sets the maximum AJP packet size in Bytes. The maximum

+      value is 65536. It should be the same as the <code>max_packet_size</code>

+      directive configured for mod_jk. Normally it is not necessary to change

+      the maximum packet size. Problems with the default value have been

+      reported when sending certificates or certificate chains. The default

+      value is 8192.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+      <p>The TCP port number on which this <strong>Connector</strong>

+      will create a server socket and await incoming connections.  Your

+      operating system will allow only one server application to listen

+      to a particular port number on a particular IP address.</p>

+    </td></tr><tr><td align="left" valign="center"><code>request.secret</code></td><td align="left" valign="center">

+      <p>Only requests from workers with this secret keyword will be accepted.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>request.shutdownEnabled</code></td><td align="left" valign="center">

+      <p>If true and a secret has been configured, a correctly formatted AJP

+      request (that includes the secret) will shutdown the Tomcat instance

+      associated with this connector. This is set to <code>false</code> by

+      default.</p>

+    </td></tr><tr><td align="left" valign="center"><code>request.useSecret</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, then a random value for

+      <code>request.secret</code> will be generated. It is for use with

+      <code>request.shutdownEnabled</code>. This is set to <code>false</code>

+      by default.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tcpNoDelay</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be

+      set on the server socket, which improves performance under most

+      circumstances.  This is set to <code>true</code> by default.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcatAuthentication</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, the authentication will be done in Tomcat. 

+      Otherwise, the authenticated principal will be propagated from the native

+      webserver and used for authorization in Tomcat.  

+      The default value is <code>true</code>.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>None at this time.</p>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-channel.html b/tomcat-uid/webapps/docs/config/cluster-channel.html
new file mode 100644
index 0000000..a400877
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-channel.html
@@ -0,0 +1,65 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Channel object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Channel object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  The cluster channel is the main component of a small framework we've nicknamed Apache Tribes.<br>

+  The channel manages a set of sub components and together they create a group communication framework.<br>

+  This framework is then used internally by the components that need to send messages between different Tomcat instances.

+  <br>

+  A few examples of these components would be the SimpleTcpCluster that does the messaging for the DeltaManager,

+  or the BackupManager that uses a different replication strategy. The ReplicatedContext object does also 

+  use the channel object to communicate context attribute changes.

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+  <p><b><a href="cluster-membership.html">Channel/Membership</a>:</b> <br>

+    The Membership component is responsible for auto discovering new nodes in the cluster

+    and also to provide for notifications for any nodes that have not responded with a heartbeat.

+    The default implementation uses multicast.<br>

+    In the membership component you configure how your nodes, aka. members, are to be discovered and/or 

+    divided up. 

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+  <p><b><a href="cluster-sender.html">Channel/Sender</a>:</b> <br>

+    The Sender component manages all outbound connections and data messages that are sent 

+    over the network from one node to another.

+    This component allows messages to be sent in parallel.

+    The default implementation uses TCP client sockets, and socket tuning for outgoing messages are

+    configured here.<br>

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+  <p><b><a href="cluster-sender.html#transport">Channel/Sender/Transport</a>:</b> <br>

+    The Transport component is the bottom IO layer for the sender component.

+    The default implementation uses non-blocking TCP client sockets.<br>

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+  <p><b><a href="cluster-receiver.html">Channel/Receiver</a>:</b> <br>

+    The receiver component listens for messages from other nodes.

+    Here you will configure the cluster thread pool, as it will dispatch incoming

+    messages to a thread pool for faster processing.

+    The default implementation uses non-blocking TCP server sockets.<br>

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+  <p><b><a href="cluster-interceptor.html">Channel/Interceptor</a>:</b> <br>

+    The channel will send messages through an interceptor stack. Because of this, you have the ability to 

+    customize the way messages are sent and received, and even how membership is handled.<br>

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+       The default value here is <code>org.apache.catalina.tribes.group.GroupChannel</code> and is

+       currently the only implementation available.

+    </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-deployer.html b/tomcat-uid/webapps/docs/config/cluster-deployer.html
new file mode 100644
index 0000000..0455b43
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-deployer.html
@@ -0,0 +1,26 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Deployer object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Deployer object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>TODO - Complete documentation</p>

+  

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+

+    </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-interceptor.html b/tomcat-uid/webapps/docs/config/cluster-interceptor.html
new file mode 100644
index 0000000..17d5f98
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-interceptor.html
@@ -0,0 +1,166 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Channel Interceptor object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Channel Interceptor object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Available_Interceptors">Available Interceptors</a></li><li><a href="#Static_Membership">Static Membership</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor_Attributes">org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.TcpFailureDetector_Attributes">org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</a></li><li><a href="#Nested_element_StaticMember_Attributes">Nested element StaticMember Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  Apache Tribes supports an interceptor architecture to intercept both messages and membership notifications.

+  This architecture allows decoupling of logic and opens the way for some very kewl feature add ons.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Available Interceptors"><!--()--></a><a name="Available_Interceptors"><strong>Available Interceptors</strong></a></font></td></tr><tr><td><blockquote>

+ <p>

+   <ul>

+    <li><code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.OrderInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.SimpleCoordinator</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.GzipInterceptor</code></li>

+    <li><code>org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor</code></li>

+   </ul>

+ </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Static Membership"><!--()--></a><a name="Static_Membership"><strong>Static Membership</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+   In addition to dynamic discovery, Apache Tribes also supports static membership, with membership verification.

+   To achieve this add the <code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code>

+   underneath the <code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code> interceptor.

+   Inside the <code>StaticMembershipInterceptor</code> you can add the static members you wish to have.

+   The <code>TcpFailureDetector</code> will do a health check on the static members,and also monitor them for crashes

+   so they will have the same level of notification mechanism as the members that are automatically discovered.

+   <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+     &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor"&gt;

+       &lt;Member className="org.apache.catalina.tribes.membership.StaticMember"

+                  port="5678"

+                  securePort="-1"

+                  host="tomcat01.mydomain.com"

+                  domain="staging-cluster"

+                  uniqueId="{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/&gt;

+     &lt;/Interceptor&gt;

+   

+   </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+       Required, as there is no default 

+     </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">

+       If you want the interceptor to trigger on certain message depending on the message's option flag,

+       you can setup the interceptors flag here.

+       The default value is <code>0</code>, meaning this interceptor will trigger on all messages.

+     </td></tr></table>

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>domain</code></strong></td><td align="left" valign="center">

+       The logical cluster domain that this Interceptor accepts.

+       Two different type of values are possible:<br>

+       1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes 

+       using ISO-8859-1 encoding.<br>

+       2. byte array in string form, for example {216,123,12,3}<br>

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+       Required, This dispatcher uses JDK 1.5 java.util.concurrent package 

+     </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">

+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.

+       The dispatcher will trigger on this value only, as it is predefined by Tribes.

+       The other attributes are inherited from its base class <code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code>.

+     </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">

+       The maximum number of threads in this pool, default is 10.

+     </td></tr><tr><td align="left" valign="center"><code>maxSpareThreads</code></td><td align="left" valign="center">

+       The number of threads to keep in the pool, default is 2.

+     </td></tr><tr><td align="left" valign="center"><code>keepAliveTime</code></td><td align="left" valign="center">

+       Maximum number of milliseconds of until Idle thread terminates. Default value is 5000(5 seconds).

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+       Required, Same implementation as <code>MessageDispatch15Interceptor</code>, but with JDK 1.4 compliance.

+     </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">

+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.

+       The dispatcher will trigger on this value only, as it is predefined by Tribes.

+     </td></tr><tr><td align="left" valign="center"><code>alwaysSend</code></td><td align="left" valign="center">

+       What behavior should be executed when the dispatch queue is full. If <code>true</code> (default), then the message is

+       is sent synchronously, if <code>false</code> an error is thrown.   

+     </td></tr><tr><td align="left" valign="center"><code>maxQueueSize</code></td><td align="left" valign="center">

+       Size in bytes of the dispatch queue, the default value is <code> 1024*1024*64 (64MB)</code> sets the maximum queue size for the dispatch queue

+       if the queue fills up, one can trigger the behavior, if <code>alwaysSend</code> is set to true, the message will be sent synchronously

+       if the flag is false, an error is thrown  

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>connectTimeout</code></td><td align="left" valign="center">

+       Specifies the timeout, in milliseconds, to use when attempting a TCP connection

+       to the suspect node. Default is 1000.

+     </td></tr><tr><td align="left" valign="center"><code>performSendTest</code></td><td align="left" valign="center">

+       If true is set, send a test message to the suspect node. Default is true.

+     </td></tr><tr><td align="left" valign="center"><code>performReadTest</code></td><td align="left" valign="center">

+       If true is set, read the response of the test message that sent. Default is false.

+       <strong>Note: </strong>if <code>performSendTest</code> is false, this attribute will have no effect.

+     </td></tr><tr><td align="left" valign="center"><code>readTestTimeout</code></td><td align="left" valign="center">

+       Specifies the timeout, in milliseconds, to use when performing a read test

+       to the suspicious node. Default is 5000.

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>interval</code></td><td align="left" valign="center">

+       If useThread == true, defines the interval of sending a ping message.

+       default is 1000 ms.

+     </td></tr><tr><td align="left" valign="center"><code>useThread</code></td><td align="left" valign="center">

+       Flag of whether to start a thread for sending a ping message.

+       If set to true, this interceptor will start a local thread for sending a ping message.

+       if set to false, channel heartbeat will send a ping message.

+       default is false.

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>interval</code></td><td align="left" valign="center">

+       Defines the interval in number of messages when we are to report the throughput statistics.

+       The report is logged to the <code>org.apache.juli.logging.LogFactory.getLog(ThroughputInterceptor.class)</code>

+       logger under the <code>INFO</code> level.

+       Default value is to report every <code>10000</code> messages.

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested element StaticMember Attributes"><!--()--></a><a name="Nested_element_StaticMember_Attributes"><strong>Nested element StaticMember Attributes</strong></a></font></td></tr><tr><td><blockquote>

+   <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+       Only one implementation available:<code>org.apache.catalina.tribes.membership.StaticMember</code>

+     </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+       The port that this static member listens to for cluster messages

+     </td></tr><tr><td align="left" valign="center"><code>securePort</code></td><td align="left" valign="center">

+       The secure port this static member listens to for encrypted cluster messages

+       default value is <code>-1</code>, this value means the member is not listening on a secure port

+     </td></tr><tr><td align="left" valign="center"><strong><code>host</code></strong></td><td align="left" valign="center">

+       The host (or network interface) that this static member listens for cluster messages.

+       Three different type of values are possible:<br>

+       1. IP address in the form of "216.123.1.23"<br>

+       2. Hostnames like "tomcat01.mydomain.com" or "tomcat01" as long as they resolve correctly<br>

+       3. byte array in string form, for example {216,123,12,3}<br>

+     </td></tr><tr><td align="left" valign="center"><strong><code>domain</code></strong></td><td align="left" valign="center">

+       The logical cluster domain for this this static member listens for cluster messages.

+       Two different type of values are possible:<br>

+       1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes 

+       using ISO-8859-1 encoding.

+       2. byte array in string form, for example {216,123,12,3}<br>

+     </td></tr><tr><td align="left" valign="center"><strong><code>uniqueId</code></strong></td><td align="left" valign="center">

+       A universally uniqueId for this static member.

+       The values must be 16 bytes in the following form:<br>

+       1. byte array in string form, for example {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}<br>

+     </td></tr></table>

+  </blockquote></td></tr></table>

+  

+  

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-listener.html b/tomcat-uid/webapps/docs/config/cluster-listener.html
new file mode 100644
index 0000000..05d651a
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-listener.html
@@ -0,0 +1,40 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The ClusterListener object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterListener object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#org.apache.catalina.ha.session.ClusterSessionListener">org.apache.catalina.ha.session.ClusterSessionListener</a></li><li><a href="#org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener">org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+    The <code>org.apache.catalina.ha.ClusterListener</code> base class 

+    lets you listen in on messages that are received by the <code>Cluster</code> component.

+  </p>  

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.ClusterSessionListener"><strong>org.apache.catalina.ha.session.ClusterSessionListener</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+   When using the DeltaManager, the messages are received by the Cluster object and are propagated to the 

+   to the manager through this listener.

+   </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"><strong>org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+   Listens for session Id changes. This listener is only used if you are using mod_jk

+   along with the <code>jvmRoute</code> attribute where the session Id can change.

+   In the event of a change, the <code>JvmRouteBinderValve</code> will broadcast the

+   session change and it will get picked up by this listener.

+   </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+

+    </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-manager.html b/tomcat-uid/webapps/docs/config/cluster-manager.html
new file mode 100644
index 0000000..b24f122
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-manager.html
@@ -0,0 +1,112 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The ClusterManager object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterManager object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#The_<Manager>">The &lt;Manager&gt;</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#org.apache.catalina.ha.session.DeltaManager_Attributes">org.apache.catalina.ha.session.DeltaManager Attributes</a></li><li><a href="#org.apache.catalina.ha.session.BackupManager_Attributes">org.apache.catalina.ha.session.BackupManager Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>A cluster manager is an extension to Tomcat's session manager interface, 

+  <code>org.apache.catalina.Manager</code>.

+  A cluster manager must implement the

+  <code>org.apache.catalina.ha.ClusterManager</code> and is solely  responsible

+  for how the session is replicated.<br>

+  There are currently two different managers, the

+  <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas of

+  session data to all members in the cluster. This implementation is proven and

+  works very well, but has a limitation as it requires the cluster members to be

+  homogeneous, all nodes must deploy the same applications and be exact

+  replicas. The <code>org.apache.catalina.ha.session.BackupManager</code> also

+  replicates deltas but only to one backup node. The location of the backup node

+  is known to all nodes in the cluster. It also supports heterogeneous

+  deployments, so the manager knows at what locations the web application is

+  deployed.</p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="The <Manager>"><!--()--></a><a name="The_<Manager>"><strong>The &lt;Manager&gt;</strong></a></font></td></tr><tr><td><blockquote>

+  <p>The <code>&lt;Manager&gt;</code> element defined inside the

+  <code>&lt;Cluster&gt;</code> element is the template defined for all web

+  applications that are marked <code>&lt;distributable/&gt;</code> in their

+  <code>web.xml</code> file. However, you can still override the manager

+  implementation on a per web application basis, by putting the

+  <code>&lt;Manager&gt;</code> inside the <code>&lt;Context&gt;</code> element

+  either in the <code><a href="context.html">context.xml</a></code> file or the

+  <code><a href="index.html">server.xml</a></code> file.</p> 

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      </td></tr><tr><td align="left" valign="center"><code>name</code></td><td align="left" valign="center">

+        <b>The name of this cluster manager, the name is used to identify a

+        session manager on a node. The name might get modified by the

+        <code>Cluster</code> element to make it unique in the container.</b>

+      </td></tr><tr><td align="left" valign="center"><code>defaultMode</code></td><td align="left" valign="center">

+        <b>Deprecated since 6.0.0</b>

+      </td></tr><tr><td align="left" valign="center"><code>notifyListenersOnReplication</code></td><td align="left" valign="center">

+        Set to <code>true</code> if you wish to have session listeners notified

+        when session attributes are being replicated or removed across Tomcat

+        nodes in the cluster.

+      </td></tr><tr><td align="left" valign="center"><code>expireSessionsOnShutdown</code></td><td align="left" valign="center">

+        When a web application is being shutdown, Tomcat issues an expire call

+        to each session to notify all the listeners. If you wish for all

+        sessions to expire on all nodes when a shutdown occurs on one node, set

+        this value to <code>true</code>. Default value is <code>false</code>.

+      </td></tr></table>

+  </blockquote></td></tr></table> 

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.DeltaManager Attributes"><!--()--></a><a name="org.apache.catalina.ha.session.DeltaManager_Attributes"><strong>org.apache.catalina.ha.session.DeltaManager Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>domainReplication</code></td><td align="left" valign="center">

+        <b>Deprecated since 6.0.0</b><br>

+        If you wish sessions to be replicated only to members that have the 

+        same logical domain set, use 

+        <code><a href="cluster-interceptor.html">DomainFilterInterceptor </a></code>.

+      </td></tr><tr><td align="left" valign="center"><code>expireSessionsOnShutdown</code></td><td align="left" valign="center">

+        When a web application is being shutdown, Tomcat issues an expire call

+        to each session to notify all the listeners. If you wish for all

+        sessions to expire on all nodes when a shutdown occurs on one node, set

+        this value to <code>true</code>.

+        Default value is <code>false</code>.

+      </td></tr><tr><td align="left" valign="center"><code>maxActiveSessions</code></td><td align="left" valign="center">

+        The maximum number of active sessions that will be created by this

+        Manager, or -1 (the default) for no limit. For this manager, all

+        sessions are counted as active sessions irrespective if whether or not

+        the current node is the primary node for the session.

+      </td></tr><tr><td align="left" valign="center"><code>notifySessionListenersOnReplication</code></td><td align="left" valign="center">

+        Set to <code>true</code> if you wish to have session listeners notified

+        when sessions are created and expired across Tomcat nodes in the

+        cluster.

+      </td></tr><tr><td align="left" valign="center"><code>notifyContainerListenersOnReplication</code></td><td align="left" valign="center">

+        Set to <code>true</code> if you wish to have container listeners notified

+        across Tomcat nodes in the cluster.

+      </td></tr><tr><td align="left" valign="center"><code>stateTransferTimeout</code></td><td align="left" valign="center">

+        The time in seconds to wait for a session state transfer to complete

+        from another node when a node is starting up.

+        Default value is <code>60</code> seconds.

+      </td></tr><tr><td align="left" valign="center"><code>sessionAttributeFilter</code></td><td align="left" valign="center">

+        A regular expression used to filter, which session attributes will

+        be replicated. An attribute will only be replicated, if its name

+        matches this pattern. If the pattern is not set (default), all

+        attributes are eligible for replication. As an example, the value

+        <code>^(userName|sessionHistory)$</code> will only replicate the two

+        session attributes named <code>userName</code> and

+        <code>sessionHistory</code>.

+      </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.BackupManager Attributes"><!--()--></a><a name="org.apache.catalina.ha.session.BackupManager_Attributes"><strong>org.apache.catalina.ha.session.BackupManager Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>mapSendOptions</code></td><td align="left" valign="center">

+        The backup manager uses a replicated map, this map is sending and

+        receiving messages. You can setup the flag for how this map is sending

+        messages, the default value is <code>6</code>(synchronous).<br>

+        Note that if you use asynchronous messaging it is possible for update

+        messages for a session to be processed by the receiving node in a

+        different order to the order in which they were sent.

+      </td></tr><tr><td align="left" valign="center"><code>maxActiveSessions</code></td><td align="left" valign="center">

+        The maximum number of active sessions that will be created by this

+        Manager, or -1 (the default) for no limit. For this manager, only

+        sessions where the current node is the primary node for the session are

+        considered active sessions.

+      </td></tr><tr><td align="left" valign="center"><code>rpcTimeout</code></td><td align="left" valign="center">

+        Timeout for RPC message used for broadcast and transfer state from 

+        another map.

+        Default value is <code>15000</code> milliseconds.

+      </td></tr></table>

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-membership.html b/tomcat-uid/webapps/docs/config/cluster-membership.html
new file mode 100644
index 0000000..8503a0a
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-membership.html
@@ -0,0 +1,113 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Membership object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Membership object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Default_Implementation">Default Implementation</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Multicast_Attributes">Multicast Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+    The membership component in the Apache Tribes <a href="cluster-channel.html">Channel</a> is responsible

+    for dynamic discovery of other members(nodes) in the cluster.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Default Implementation"><!--()--></a><a name="Default_Implementation"><strong>Default Implementation</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+    The default implementation of the cluster group notification is built on top of multicast heartbeats

+    sent using UDP packets to a multicast IP address.

+    Cluster members are grouped together by using the same multicast address/port combination.

+    Each member sends out a heartbeat with a given interval (<code>frequency</code>), and this

+    heartbeat is used for dynamic discovery.

+    In a similar fashion, if a heartbeat has not been received in a timeframe specified by <code>dropTime</code>

+    ms. a member is considered suspect and the channel and any membership listener will be notified.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Multicast Attributes"><!--()--></a><a name="Multicast_Attributes"><strong>Multicast Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      <p>

+      The default value is <code>org.apache.catalina.tribes.membership.McastService</code>

+      and is currently the only implementation.

+      This implementation uses multicast heartbeats for member discovery.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>address</code></td><td align="left" valign="center">

+      <p>

+      The multicast address that the membership will broadcast its presence and listen

+      for other heartbeats on. The default value is <code>228.0.0.4</code>

+      Make sure your network is enabled for multicast traffic.<br>

+      The multicast address, in conjunction with the <code>port</code> is what 

+      creates a cluster group. To divide up your farm into several different group, or to 

+      split up QA from production, change the <code>port</code> or the <code>address</code>

+      <br>Previously known as mcastAddr.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="left" valign="center">

+      <p>

+      The multicast port, the default value is <code>45564</code><br>

+      The multicast port, in conjunction with the <code>address</code> is what 

+      creates a cluster group. To divide up your farm into several different group, or to 

+      split up QA from production, change the <code>port</code> or the <code>address</code>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>frequency</code></td><td align="left" valign="center">

+      <p>

+      The frequency in milliseconds in which heartbeats are sent out. The default value is <code>500</code> ms.<br>

+      In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>dropTime</code></td><td align="left" valign="center">

+      <p>

+      The membership component will time out members and notify the Channel if a member fails to send a heartbeat within 

+      a give time. The default value is <code>3000</code> ms. This means, that if a heartbeat is not received from a 

+      member in that timeframe, the membership component will notify the cluster of this.<br>

+      On a high latency network you may wish to increase this value, to protect against false positives.<br>

+      Apache Tribes also provides a <a href="cluster-interceptor.html#tcpfailuredetector"><code>TcpFailureDetector</code></a> that will

+      verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>bind</code></td><td align="left" valign="center">

+      <p>

+      Use this attribute if you wish to bind your multicast traffic to a specific network interface.

+      By default, or when this attribute is unset, it tries to bind to <code>0.0.0.0</code> and sometimes on multihomed hosts

+      this becomes a problem.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>ttl</code></td><td align="left" valign="center">

+      <p>

+      The time-to-live setting for the multicast heartbeats.

+      This setting should be a value between 0 and 255. The default value is VM implementation specific.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>domain</code></td><td align="left" valign="center">

+      <p>

+      Apache Tribes has the ability to logically group members into domains, by using this domain attribute.

+      The <code>org.apache.catalina.tribes.Member.getDomain()</code> method returns the value specified here.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>soTimeout</code></td><td align="left" valign="center">

+      <p>

+      The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,

+      you can control the <code>SO_TIMEOUT</code> value on this socket.<br>

+      If a value smaller or equal to 0 is presented, the code will default this value to frequency

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>recoveryEnabled</code></td><td align="left" valign="center">

+      <p>

+      In case of a network failure, Java multicast socket don't transparently fail over, instead the socket will continuously

+      throw IOException upon each receive request. When recoveryEnabled is set to true, this will close the multicast socket

+      and open a new socket with the same properties as defined above.<br>

+      The default is <code>true</code>. <br>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>recoveryCounter</code></td><td align="left" valign="center">

+      <p>

+      When <code>recoveryEnabled==true</code> this value indicates how many times we will try recovery.

+      The default is <code>10</code>. <br>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>recoverySleepTime</code></td><td align="left" valign="center">

+      <p>

+      When <code>recoveryEnabled==true</code> this value indicates how long time (in milliseconds)

+      the system will sleep in between recovery attempts, until we either recovered successfully or we have reached the

+      recoveryCounter limit.

+      The default is <code>5000</code> (5 seconds). <br>

+      </p>

+    </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-receiver.html b/tomcat-uid/webapps/docs/config/cluster-receiver.html
new file mode 100644
index 0000000..2ae65ec
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-receiver.html
@@ -0,0 +1,108 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Receiver object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Receiver object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Blocking_vs_Non-Blocking_Receiver">Blocking vs Non-Blocking Receiver</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#NioReceiver">NioReceiver</a></li><li><a href="#BioReceiver">BioReceiver</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  The receiver component is responsible for receiving cluster messages.

+  As you might notice through the configuration, is that the receiving of messages

+  and sending of messages are two different components, this is different from many other 

+  frameworks, but there is a good reason for it, to decouple the logic for how messages are sent from

+  how messages are received.<br>

+  The receiver is very much like the Tomcat Connector, its the base of the thread pool

+  for incoming cluster messages. The receiver is straight forward, but all the socket settings

+  for incoming traffic are managed here.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Blocking vs Non-Blocking Receiver"><!--()--></a><a name="Blocking_vs_Non-Blocking_Receiver"><strong>Blocking vs Non-Blocking Receiver</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  The receiver supports both a non blocking, <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code>, and a 

+  blocking, <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>. It is preferred to use the non blocking receiver

+  to be able to grow your cluster without running into thread starvation.<br>

+  Using the non blocking receiver allows you to with a very limited thread count to serve a large number of messages.

+  Usually the rule is to use 1 thread per node in the cluster for small clusters, and then depending on your message frequency

+  and your hardware, you'll find an optimal number of threads peak out at a certain number.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      The implementation of the receiver component. Two implementations available,

+      <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> and 

+      <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>.<br>

+      The <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> is the 

+      preferred implementation

+    </td></tr><tr><td align="left" valign="center"><code>address</code></td><td align="left" valign="center">

+      The address (network interface) to listen for incoming traffic.

+      Same as the bind address. The default value is <code>auto</code> and translates to

+      <code>java.net.InetAddress.getLocalHost().getHostAddress()</code>.

+    </td></tr><tr><td align="left" valign="center"><code>direct</code></td><td align="left" valign="center">

+      Possible values are <code>true</code> or <code>false</code>. 

+      Set to true if you want the receiver to use direct bytebuffers when reading data

+      from the sockets.

+    </td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="left" valign="center">

+      The listen port for incoming data. The default value is <code>4000</code>.

+      To avoid port conflicts the receiver will automatically bind to a free port within the range of 

+      <code> port &lt;= bindPort &lt;= port+autoBind</code>

+      So for example, if port is 4000, and autoBind is set to 10, then the receiver will open up 

+      a server socket on the first available port in the range 4000-4100.

+    </td></tr><tr><td align="left" valign="center"><code>autoBind</code></td><td align="left" valign="center">

+      Default value is <code>100</code>.

+      Use this value if you wish to automatically avoid port conflicts the cluster receiver will try to open a 

+      server socket on the <code>port</code> attribute port, and then work up <code>autoBind</code> number of times.

+    </td></tr><tr><td align="left" valign="center"><code>securePort</code></td><td align="left" valign="center">

+      The secure listen port. This port is SSL enabled. If this attribute is omitted no SSL port is opened up.

+      There default value is unset, meaning there is no SSL socket available.

+    </td></tr><tr><td align="left" valign="center"><code>selectorTimeout</code></td><td align="left" valign="center">

+      The value in milliseconds for the polling timeout in the <code>NioReceiver</code>. On older versions of the JDK

+      there have been bugs, that should all now be cleared out where the selector never woke up.

+      The default value is a very high <code>5000</code> milliseconds.

+    </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">

+      The maximum number of threads in the receiver thread pool. The default value is <code>6</code>

+      Adjust this value relative to the number of nodes in the cluster, the number of messages being exchanged and 

+      the hardware you are running on. A higher value doesn't mean more efficiency, tune this value according to your 

+      own test results.

+    </td></tr><tr><td align="left" valign="center"><code>minThreads</code></td><td align="left" valign="center">

+      Minimum number of threads to be created when the receiver is started up. Default value is <code>6</code>

+    </td></tr><tr><td align="left" valign="center"><code>ooBInline</code></td><td align="left" valign="center">

+      Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.

+    </td></tr><tr><td align="left" valign="center"><code>rxBufSize</code></td><td align="left" valign="center">

+      The receiver buffer size on the receiving sockets. Value is in bytes, the default value is <code>43800</code> bytes.

+    </td></tr><tr><td align="left" valign="center"><code>txBufSize</code></td><td align="left" valign="center">

+      The sending buffer size on the receiving sockets. Value is in bytes, the default value is <code>25188</code> bytes.

+    </td></tr><tr><td align="left" valign="center"><code>soKeepAlive</code></td><td align="left" valign="center">

+      Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.

+    </td></tr><tr><td align="left" valign="center"><code>soLingerOn</code></td><td align="left" valign="center">

+      Boolean value to determine whether to use the SO_LINGER socket option. 

+      Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.

+    </td></tr><tr><td align="left" valign="center"><code>soLingerTime</code></td><td align="left" valign="center">

+      Sets the SO_LINGER socket option time value. The value is in seconds. 

+      The default value is <code>3</code> seconds.

+    </td></tr><tr><td align="left" valign="center"><code>soReuseAddress</code></td><td align="left" valign="center">

+     Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.

+    </td></tr><tr><td align="left" valign="center"><code>soTrafficClass</code></td><td align="left" valign="center">

+     Sets the traffic class level for the socket, the value is between 0 and 255.

+     Different values are defined in <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">

+     java.net.Socket#setTrafficClass(int)</a>.

+    </td></tr><tr><td align="left" valign="center"><code>tcpNoDelay</code></td><td align="left" valign="center">

+     Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.

+     The default value is <code>true</code>

+    </td></tr><tr><td align="left" valign="center"><code>timeout</code></td><td align="left" valign="center">

+     Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 

+     milliseconds.

+    </td></tr><tr><td align="left" valign="center"><code>useBufferPool</code></td><td align="left" valign="center">

+     Boolean value whether to use a shared buffer pool of cached <code>org.apache.catalina.tribes.io.XByteBuffer</code>

+     objects. If set to true, the XByteBuffer that is used to pass a message up the channel, will be recycled at the end 

+     of the requests. This means that interceptors in the channel must not maintain a reference to the object

+     after the <code>org.apache.catalina.tribes.ChannelInterceptor#messageReceived</code> method has exited.

+    </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="NioReceiver"><strong>NioReceiver</strong></a></font></td></tr><tr><td><blockquote>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="BioReceiver"><strong>BioReceiver</strong></a></font></td></tr><tr><td><blockquote>

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-sender.html b/tomcat-uid/webapps/docs/config/cluster-sender.html
new file mode 100644
index 0000000..87b06dd
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-sender.html
@@ -0,0 +1,113 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Sender object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Sender object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Concurrent_Parallel_Delivery">Concurrent Parallel Delivery</a></li><li><a href="#Nested_Elements">Nested Elements</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Sender_Attributes">Common Sender Attributes</a></li><li><a href="#Common_Transport_Attributes">Common Transport Attributes</a></li><li><a href="#PooledParallelSender_Attributes">PooledParallelSender Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  The channel sender component is responsible for delivering outgoing cluster messages over the network.

+  In the default implementation, <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>,

+  the sender is a fairly empty shell with not much logic around a fairly complex <code>&lt;Transport&gt;</code>

+  component the implements the actual delivery mechanism.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Concurrent Parallel Delivery"><!--()--></a><a name="Concurrent_Parallel_Delivery"><strong>Concurrent Parallel Delivery</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  In the default <code>transport</code> implementation, <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>,

+  Apache Tribes implements what we like to call "Concurrent Parallel Delivery". 

+  This means that we can send a message to more than one destination at the same time(parallel), and

+  deliver two messages to the same destination at the same time(concurrent). Combine these two and we have 

+  "Concurrent Parallel Delivery".

+  </p>

+  <p>

+  When is this useful? The simplest example we can think of is when part of your code is sending a 10MB message,

+  like a war file being deployed, and you need to push through a small 10KB message, say a session being replicated,

+  you don't have to wait for the 10MB message to finish, as a separate thread will push in the small message 

+  transmission at the same time. Currently there is no interrupt, pause or priority mechanism available, but check back soon.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Elements"><!--()--></a><a name="Nested_Elements"><strong>Nested Elements</strong></a></font></td></tr><tr><td><blockquote>

+ <p>

+   The nested element <code>&lt;Transport&gt;</code> is is not required, by encouraged, as this is where

+   you would set all the socket options for the outgoing messages. Please see its attributes below.

+   There are two implementations, in a similar manner to the <a href="cluster-receiver.html">receiver</a>, one is non-blocking

+   based and the other is built using blocking IO. <br>

+   <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code> is the blocking implementation and 

+   <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>.

+   Parallel delivery is not available for the blocking implementation due to the fact that it is blocking a thread on sending data.

+ </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Sender Attributes"><!--()--></a><a name="Common_Sender_Attributes"><strong>Common Sender Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        Required, only available implementation is <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>

+      </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Transport Attributes"><!--()--></a><a name="Common_Transport_Attributes"><strong>Common Transport Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        Required, an implementation of the <code>org.apache.catalina.tribes.transport.MultiPointSender</code>.<br>

+        Non-blocking implementation is <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code><br>

+        Blocking implementation is <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code>

+      </td></tr><tr><td align="left" valign="center"><code>rxBufSize</code></td><td align="left" valign="center">

+        The receive buffer size on the socket.

+        Default value is <code>25188</code> bytes.

+      </td></tr><tr><td align="left" valign="center"><code>txBufSize</code></td><td align="left" valign="center">

+       The send buffer size on the socket.

+       Default value is <code>43800</code> bytes.

+      </td></tr><tr><td align="left" valign="center"><code>directBuffer</code></td><td align="left" valign="center">

+       Possible values are <code>true</code> or <code>false</code>. 

+       Set to true if you want the receiver to use direct bytebuffers when writing data

+       to the sockets. Default value is <code>false</code>

+      </td></tr><tr><td align="left" valign="center"><code>keepAliveCount</code></td><td align="left" valign="center">

+       The number of requests that can go through the socket before the socket is closed, and reopened

+       for the next request. The default value is <code>-1</code>, which is unlimited.

+      </td></tr><tr><td align="left" valign="center"><code>keepAliveTime</code></td><td align="left" valign="center">

+       The number of milliseconds a connection is kept open after its been opened.

+       The default value is <code>-1</code>, which is unlimited.

+      </td></tr><tr><td align="left" valign="center"><code>timeout</code></td><td align="left" valign="center">

+        Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 

+        milliseconds.(3 seconds) This timeout starts when a message send attempt is starting, until the transfer has been completed.

+        For the NIO sockets, this will mean, that the caller can guarantee that we will not attempt sending the message

+        longer than this timeout value. For the blocking IO implementation, this translated directly to the soTimeout.<br>

+        A timeout will not spawn a retry attempt, in order to guarantee the return of the application thread.

+      </td></tr><tr><td align="left" valign="center"><code>maxRetryAttempts</code></td><td align="left" valign="center">

+        How many times do we retry a failed message, that received a IOException at the socket level.

+        The default value is <code>1</code>, meaning we will retry a message that has failed once. 

+        In other words, we will attempt a message send no more than twice. One is the original send, and one is the 

+        <code>maxRetryAttempts</code>.

+      </td></tr><tr><td align="left" valign="center"><code>ooBInline</code></td><td align="left" valign="center">

+        Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.

+      </td></tr><tr><td align="left" valign="center"><code>soKeepAlive</code></td><td align="left" valign="center">

+        Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.

+      </td></tr><tr><td align="left" valign="center"><code>soLingerOn</code></td><td align="left" valign="center">

+        Boolean value to determine whether to use the SO_LINGER socket option. 

+        Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.

+      </td></tr><tr><td align="left" valign="center"><code>soLingerTime</code></td><td align="left" valign="center">

+        Sets the SO_LINGER socket option time value. The value is in seconds. 

+        The default value is <code>3</code> seconds.

+      </td></tr><tr><td align="left" valign="center"><code>soReuseAddress</code></td><td align="left" valign="center">

+       Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.

+      </td></tr><tr><td align="left" valign="center"><code>soTrafficClass</code></td><td align="left" valign="center">

+       Sets the traffic class level for the socket, the value is between 0 and 255.

+       Default value is <code>int soTrafficClass = 0x04 | 0x08 | 0x010;</code>

+       Different values are defined in <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">

+       java.net.Socket#setTrafficClass(int)</a>.

+      </td></tr><tr><td align="left" valign="center"><code>tcpNoDelay</code></td><td align="left" valign="center">

+       Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.

+       The default value is <code>true</code>

+      </td></tr><tr><td align="left" valign="center"><code>throwOnFailedAck</code></td><td align="left" valign="center">

+       Boolean value, default value is <code>true</code>.

+       If set to true, the sender will throw a <code>org.apache.catalina.tribes.RemoteProcessException</code>

+       when we receive a negative ack from the remote member.

+       Set to false, and Tribes will treat a positive ack the same way as a negative ack, that the message was received.

+      </td></tr></table>

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="PooledParallelSender Attributes"><!--()--></a><a name="PooledParallelSender_Attributes"><strong>PooledParallelSender Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>poolSize</code></td><td align="left" valign="center">

+        The maximum number of concurrent connections from A to B.

+        The value is based on a per-destination count.

+        The default value is <code>25</code>

+      </td></tr></table>

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster-valve.html b/tomcat-uid/webapps/docs/config/cluster-valve.html
new file mode 100644
index 0000000..f36d321
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster-valve.html
@@ -0,0 +1,61 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Valve object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Valve object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#org.apache.catalina.ha.tcp.ReplicationValve">org.apache.catalina.ha.tcp.ReplicationValve</a><ol><li><a href="#org.apache.catalina.ha.tcp.ReplicationValve/Attributes">Attributes</a></li></ol></li><li><a href="#org.apache.catalina.ha.session.JvmRouteBinderValve">org.apache.catalina.ha.session.JvmRouteBinderValve</a><ol><li><a href="#org.apache.catalina.ha.session.JvmRouteBinderValve/Attributes">Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  A cluster valve is no different from any other <a href="valve.html">Tomcat <code>Valve</code></a>.

+  The cluster valves are interceptors in the invocation chain for HTTP requests, and the clustering implementation

+  uses these valves to make intelligent decision around data and when data should be replicated.

+  </p>

+  <p>

+  A cluster valve must implement the <code>org.apache.catalina.ha.ClusterValve</code> interface.

+  This is a simple interface that extends the <code>org.apache.catalina.Valve</code> interface.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.tcp.ReplicationValve"><strong>org.apache.catalina.ha.tcp.ReplicationValve</strong></a></font></td></tr><tr><td><blockquote>

+  The <code>ReplicationValve</code> will notify the cluster at the end of a HTTP request

+  so that the cluster can make a decision whether there is data to be replicated or not.

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.tcp.ReplicationValve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        Set value to <code>org.apache.catalina.ha.tcp.ReplicationValve</code>

+      </td></tr><tr><td align="left" valign="center"><code>filter</code></td><td align="left" valign="center">

+        For known file extensions or urls, you can use a filter to 

+        notify the cluster that the session has not been modified during this 

+        request and the cluster doesn't have to probe the session managers for changes.

+        If there is a filter match, the cluster assumes there has been no session change.

+        An example filter would look like <code>filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"</code>

+        The filter uses regular expressions and each filter is delimited by a semi colon.

+        <code>Pattern#compile(java.lang.String)</code>

+      </td></tr><tr><td align="left" valign="center"><code>primaryIndicator</code></td><td align="left" valign="center">

+        Boolean value, so to true, and the replication valve will insert a request attribute with the name

+        defined by the <code>primaryIndicatorName</code> attribute.

+        The value inserted into the request attribute is either <code>Boolean.TRUE</code> or 

+        <code>Boolean.FALSE</code>

+      </td></tr><tr><td align="left" valign="center"><code>primaryIndicatorName</code></td><td align="left" valign="center">

+        Default value is <code>org.apache.catalina.ha.tcp.isPrimarySession</code>

+        The value defined here is the name of the request attribute that contains the boolean value

+        if the session is primary on this server or not.

+      </td></tr><tr><td align="left" valign="center"><code>statistics</code></td><td align="left" valign="center">

+        Boolean value. Set to <code>true</code> if you want the valve to collect request statistics.

+        Default value is <code>false</code>

+      </td></tr></table>

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.JvmRouteBinderValve"><strong>org.apache.catalina.ha.session.JvmRouteBinderValve</strong></a></font></td></tr><tr><td><blockquote>

+  In case of a mod_jk failover, the <code>JvmRouteBinderValve</code> will replace the 

+  <code>jvmWorker</code> attribute in the session Id, to make future requests stick to this

+  node. If you want failback capability, don't enable this valve, but if you want your failover to stick,

+  and for mod_jk not to have to keep probing the node that went down, you use this valve.

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.ha.session.JvmRouteBinderValve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <code>org.apache.catalina.ha.session.JvmRouteBinderValve</code>

+      </td></tr><tr><td align="left" valign="center"><code>enabled</code></td><td align="left" valign="center">

+        Default value is <code>true</code>

+        Runtime attribute to turn on and off turn over of the session's jvmRoute value.

+      </td></tr></table>

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/cluster.html b/tomcat-uid/webapps/docs/config/cluster.html
new file mode 100644
index 0000000..b88eab4
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/cluster.html
@@ -0,0 +1,130 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Engine_vs_Host_placement">Engine vs Host placement</a></li><li><a href="#Context_Attribute_Replication">Context Attribute Replication</a></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Deprecated_configuration_options">Deprecated configuration options</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#SimpleTcpCluster_Attributes">SimpleTcpCluster Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+  The tomcat cluster implementation provides session replication, context attribute replication and

+  cluster wide WAR file deployment.

+  While the <code>Cluster</code> configuration is fairly complex, the default configuration will work

+  for most people out of the box. </p><p>

+  The Tomcat Cluster implementation is very extensible, and hence we have exposed a myriad of options,

+  making the configuration seem like a lot, but don't lose faith, instead you have a tremendous control

+  over what is going on.</p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Engine vs Host placement"><!--()--></a><a name="Engine_vs_Host_placement"><strong>Engine vs Host placement</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+   You can place the <code>&lt;Cluster&gt;</code> element inside either the <code>&lt;Engine&gt;</code>

+   container or the <code>&lt;Host&gt;</code> container.<br>

+   Placing it in the engine, means that you will support clustering in all virtual hosts of Tomcat,

+   and share the messaging component. When you place the <code>&lt;Cluster&gt;</code> inside the <code>&lt;Engine&gt;</code>

+   element, the cluster will append the host name of each session manager to the managers name so that two contexts with 

+   the same name but sitting inside two different hosts will be distinguishable.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Context Attribute Replication"><!--()--></a><a name="Context_Attribute_Replication"><strong>Context Attribute Replication</strong></a></font></td></tr><tr><td><blockquote>

+  <p>To configure context attribute replication, simply do this by swapping out the context implementation

+  used for your application context.

+    <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>&lt;Context className="org.apache.catalina.ha.context.ReplicatedContext"/&gt;</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    This context extends the Tomcat <code><a href="context.html">StandardContext</a></code>

+    so all the options from the <a href="context.html">base implementation</a> are valid.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+  <p><b><a href="cluster-manager.html">Manager</a>:</b> <br>

+    The session manager element identifies what kind of session manager is used in this cluster implementation.

+    This manager configuration is identical to the one you would use in a regular <code><a href="context.html#Nested%20xComponents">&lt;Context&gt;</a></code> configuration.

+    <br>The default value is the <code>org.apache.catalina.ha.session.DeltaManager</code> that is closely coupled with

+    the <code>SimpleTcpCluster</code> implementation. Other managers like the <code>org.apache.catalina.ha.session.BackupManager</code>

+    are/could be loosely coupled and don't rely on the <code>SimpleTcpCluster</code> for its data replication.

+  </p>

+  <p><b><a href="cluster-channel.html">Channel</a>:</b> <br>

+    The Channel and its sub components are all part of the IO layer 

+    for the cluster group, and is a module in it's own that we have nick named "Tribes"

+    <br>

+    Any configuring and tuning of the network layer, the messaging and the membership logic

+    will be done in the channel and its nested components.

+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>

+  </p>

+  <p><b><a href="cluster-valve.html">Valve</a>:</b> <br>

+    The Tomcat Cluster implementation uses <code>Tomcat <a href="valve.html">Valves</a></code> to

+    track when requests enter and exit the servlet container. It uses these valves to be able to make

+    intelligent decisions on when to replicate data, which is always at the end of a request.

+  </p>

+  <p><b><a href="cluster-deployer.html">Deployer</a>:</b> <br>

+    The Deployer component is the Tomcat Farm Deployer. It allows you to deploy and undeploy applications

+    cluster wide.

+  </p>

+  <p><b><a href="cluster-listener.html">ClusterListener</a>:</b> <br>

+    ClusterListener's are used to track messages sent and received using the <code>SimpleTcpCluster</code>.

+    If you wish to track messages, you can add a listener here, or you can add a valve to the channel object.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Deprecated configuration options"><!--()--></a><a name="Deprecated_configuration_options"><strong>Deprecated configuration options</strong></a></font></td></tr><tr><td><blockquote>

+  <p>

+    <b>Deprecated settings:</b> In the previous version of Tomcat you were able to control session

+       manager settings using manager.&lt;property&gt;=value.

+       This has been discontinued, as the way it was written interferes with 

+       the ability to support multiple different manager classes under one cluster implementation,

+       as the same properties might have the different effect on different managers.

+  </p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="SimpleTcpCluster Attributes"><!--()--></a><a name="SimpleTcpCluster_Attributes"><strong>SimpleTcpCluster Attributes</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      <p>The main cluster class, currently only one is available,

+         <code>org.apache.catalina.ha.tcp.SimpleTcpCluster</code>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>channelSendOptions</code></strong></td><td align="left" valign="center">

+      <p>The Tribes channel send options, default is <code>8</code>.<br>

+         This option is used to set the flag that all messages sent through the 

+         SimpleTcpCluster uses. The flag decides how the messages are sent, and is a simple logical OR.<br>

+         

+      <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+        int options= Channel.SEND_OPTIONS_ASYNCHRONOUS | 

+                     Channel.SEND_OPTIONS_SYNCHRONIZED_ACK | 

+                     Channel.SEND_OPTIONS_USE_ACK;

+      </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+      Some of the values are:<br>

+      <code>Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004</code><br>

+      <code>Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008</code><br>

+      <code>Channel.SEND_OPTIONS_USE_ACK = 0x0002</code><br>

+      So to use ACK and ASYNC messaging, the flag would be <code>10 (8+2) or 0x000B</code><br>

+      Note that if you use ASYNC messaging it is possible for update messages

+      for a session to be processed by the receiving nodes in a different order

+      to the order in which they were sent.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>channelStartOptions</code></td><td align="left" valign="center">

+      <p>Sets the start and stop flags for the &lt;Channel&gt; object used by the cluster.

+         The default is <code>Channel.DEFAULT</code> which starts all the channel services, such as 

+         sender, receiver, multicast sender and multicast receiver.

+         The following flags are available today:

+         <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+           Channel.DEFAULT = Channel.SND_RX_SEQ (1)| Channel.SND_TX_SEQ (2)| Channel.MBR_RX_SEQ (4)| Channel.MBR_TX_SEQ (8);

+         </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+         To start a channel without multicasting, you would want to use the value <code>Channel.SND_RX_SEQ | Channel.SND_TX_SEQ</code>

+         that equals to <code>3</code>.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>heartbeatBackgroundEnabled</code></td><td align="left" valign="center">

+      <p>Flag whether invoke channel heartbeat at container background thread. Default value is false.

+         Enable this flag don't forget to disable the channel heartbeat thread.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>notifyLifecycleListenerOnFailure</code></td><td align="left" valign="center">

+      <p>Flag whether notify LifecycleListeners if all ClusterListener couldn't accept channel message.

+         Default value is false.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>doClusterLog</code></td><td align="left" valign="center">

+      <p><b>Deprecated since 6.0.0</b></p>

+      <p>Possible values are <code>true</code> or <code>false</code><br>

+         Value is inherited from Tomcat 5.5 and has no official meaning.

+         to configure logging, use the standard tomcat logging configuration.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>clusterLogName</code></td><td align="left" valign="center">

+      <p><b>Deprecated since 6.0.0</b></p>

+      <p>

+        Value is inherited from Tomcat 5.5 and has no official meaning.

+         to configure logging, use the standard tomcat logging configuration.

+      </p>

+    </td></tr></table>

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/context.html b/tomcat-uid/webapps/docs/config/context.html
new file mode 100644
index 0000000..d9a3f8c
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/context.html
@@ -0,0 +1,938 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Context Container</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Context Container</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a><ol><li><a href="#Naming">Naming</a></li><li><a href="#Defining_a_context">Defining a context</a></li></ol></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li><li><a href="#Access_Logs">Access Logs</a></li><li><a href="#Automatic_Context_Configuration">Automatic Context Configuration</a></li><li><a href="#Context_Parameters">Context Parameters</a></li><li><a href="#Environment_Entries">Environment Entries</a></li><li><a href="#Lifecycle_Listeners">Lifecycle Listeners</a></li><li><a href="#Request_Filters">Request Filters</a></li><li><a href="#Resource_Definitions">Resource Definitions</a></li><li><a href="#Resource_Links">Resource Links</a></li><li><a href="#Transaction">Transaction</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <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

+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,

+    the directory into which you have installed Tomcat 6.</p>

+    </em></blockquote>

+

+  <p>The <strong>Context</strong> element represents a <em>web

+  application</em>, which is run within a particular virtual host.

+  Each web application is based on a <em>Web Application Archive</em>

+  (WAR) file, or a corresponding directory containing the corresponding

+  unpacked contents, as described in the Servlet Specification (version

+  2.2 or later).  For more information about web application archives,

+  you can download the

+  <a href="http://wiki.apache.org/tomcat/Specifications">Servlet

+  Specification</a>, and review the Tomcat

+  <a href="../appdev/index.html">Application Developer's Guide</a>.</p>

+

+  <p>The web application used to process each HTTP request is selected

+  by Catalina based on matching the longest possible prefix of the

+  Request URI against the <em>context path</em> of each defined Context.

+  Once selected, that Context will select an appropriate servlet to

+  process the incoming request, according to the servlet mappings defined

+  in the <em>web application deployment descriptor</em> file (which MUST

+  be located at <code>/WEB-INF/web.xml</code> within the web app's

+  directory hierarchy).</p>

+

+  <p>You may define as many <strong>Context</strong> elements as you

+  wish.  Each such Context MUST have a unique context path within a virtual

+  host. In

+  addition, a Context must be present with a context path equal to

+  a zero-length string.  This Context becomes the <em>default</em>

+  web application for this virtual host, and is used to process all

+  requests that do not match any other Context's context path.</p>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Naming"><strong>Naming</strong></a></font></td></tr><tr><td><blockquote>

+  <p>When <code>autoDeploy</code> or <code>deployOnStartup</code> operations

+  are performed by a Host, the web application is specified by a context XML

+  file in <a href="host.html">Host</a>'s <code>xmlBase</code>

+  directory or by a WAR file or a directory file in Host's

+  <code>appBase</code> directory.

+  In this case the context path is derived from the name of the file that

+  is being deployed. Consequently, the context path <strong>may not</strong>

+  be defined in a <code>META-INF/context.xml</code> embedded in

+  the application. There is, therefore, a close relationship between the

+  <em>context path</em> and

+  the <em>base file name</em> (the name minus <code>.war</code> or

+  <code>.xml</code> extension) of the file.</p>

+

+  <p>Let us assume that you want to deploy your application to respond to

+  requests to URIs starting with certain context path. According to the

+  Servlet specification, the context path may be an empty string, or a

+  string starting with '/'. The rules to define the names for this context

+  path are the following:</p>

+

+  <ul>

+    <li>If the context path is a zero length string, the <em>base name</em> is

+    <code>"ROOT"</code> (uppercase)</li>

+    <li>If the context path is not a zero length string, the <em>base

+    name</em> is the context path with the leading '/' removed and any

+    remaining '/' characters in the path replaced with '#'.</li>

+  </ul>

+

+  <p>To help clarify these rules, some examples are given in the following

+  table.</p>

+

+  <table class="detail-table">

+    <tr>

+      <td bgcolor="#039acc" valign="top"><font color="#000000" size="-1" face="arial,helvetica,sanserif">Context Path</font></td>

+      <td bgcolor="#039acc" valign="top"><font color="#000000" size="-1" face="arial,helvetica,sanserif">Base File Name</font></td>

+    </tr>

+    <tr><td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif">/foo</font></td><td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif">foo</font></td></tr>

+    <tr>

+      <td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif">/foo/bar</font></td><td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif">foo#bar</font></td>

+    </tr>

+    <tr>

+      <td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif"><i>Empty String</i></font></td>

+      <td bgcolor="#a0ddf0" valign="top" align="left"><font color="#000000" size="-1" face="arial,helvetica,sanserif">ROOT</font></td>

+    </tr>

+  </table>

+

+  <p>If you want to deploy a WAR file or a directory using a context path that

+  is not related to the base file name then one of the following options must

+  be used to prevent double-deployment:

+  </p>

+  <ul>

+  <li>Disable autoDeploy and deployOnStartup and define all

+  <strong>Context</strong>s in server.xml</li>

+  <li>Locate the WAR and/or directory outside of the Host's appBase and use

+      a context.xml file with a docBase attribute to define it.</li>

+  </ul>

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Defining a context"><!--()--></a><a name="Defining_a_context"><strong>Defining a context</strong></a></font></td></tr><tr><td><blockquote>

+  <p><b>It is NOT recommended to place

+  &lt;Context&gt; elements directly in the server.xml file.</b> This

+  is because it makes modifying the <strong>Context</strong> configuration

+  more invasive since the main <code>conf/server.xml</code> file cannot be

+  reloaded without restarting Tomcat.</p>

+

+  <p>Individual <strong>Context</strong> elements may be explicitly defined:

+  </p>

+  <ul>

+  <li>In an individual file at <code>/META-INF/context.xml</code> inside the

+  application files. In Tomcat 6 this file is automatically copied to

+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> and renamed to

+  application's base file name plus a ".xml" extension.

+  (This automated copying became optional in Tomcat 7).

+  </li>

+  <li>In individual files (with a ".xml" extension) in the

+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> directory.

+  The context path will be derived from the base name of the file

+  (the file name less the .xml extension). This file will always take precedence

+  over any context.xml file packaged in the web application's META-INF

+  directory.</li>

+  <li>Inside a <a href="host.html">Host</a> element in the main

+  <code>conf/server.xml</code>.</li>

+  </ul>

+

+  <p>Default <strong>Context</strong> elements may be defined that apply to

+  multiple web applications. Configuration for an individual web application

+  will override anything configured in one of these defaults. Any nested

+  elements, e.g. &lt;Resource&gt; elements, that are defined in a default

+  <strong>Context</strong> will be created once for each

+  <strong>Context</strong> to which the default applies. They will <b>not</b> be

+  shared between <strong>Context</strong> elements.

+  </p>

+  <ul>

+  <li>In the <code>$CATALINA_BASE/conf/context.xml</code> file:

+  the Context element information will be loaded by all web applications.</li>

+  <li>In the

+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default</code>

+  file: the Context element information will be loaded by all web applications

+  of that host.</li>

+  </ul>

+

+  <p>With the exception of server.xml, files that define <strong>Context

+  </strong> elements may only define a single <strong>Context</strong> element.

+  </p>

+

+  <p>In addition to explicitly specified Context elements, there are

+  several techniques by which Context elements can be created automatically

+  for you.  See <a href="host.html#Automatic_Application_Deployment">

+  Automatic Application Deployment</a> and

+  <a href="host.html#User_Web_Applications">User Web Applications</a>

+  for more information.</p>

+

+  <p>To define multiple contexts that use a single WAR file or directory,

+  use one of the options described in the <a href="#Naming">Naming</a>

+  section above for creating a <strong>Context</strong> that has a path

+  that is not related to the base file name.</p>

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Context</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>backgroundProcessorDelay</code></td><td align="left" valign="center">

+        <p>This value represents the delay in seconds between the 

+        invocation of the backgroundProcess method on this context and 

+        its child containers, including all wrappers. 

+        Child containers will not be invoked if their delay value is not 

+        negative (which would mean they are using their own processing 

+        thread). Setting this to a positive value will cause 

+        a thread to be spawn. After waiting the specified amount of time, 

+        the thread will invoke the backgroundProcess method on this host 

+        and all its child containers. A context will use background 

+        processing to perform session expiration and class monitoring for

+        reloading. If not specified, the default value for this attribute is 

+        -1, which means the context will rely on the background processing 

+        thread of its parent host.</p>

+      </td></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Context</code> interface.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cookies</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want cookies to be used for

+        session identifier communication if supported by the client (this

+        is the default).  Set to <code>false</code> if you want to disable

+        the use of cookies for session identifier communication, and rely

+        only on URL rewriting by the application.</p>

+      </td></tr><tr><td align="left" valign="center"><code>crossContext</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want calls within this application

+        to <code>ServletContext.getContext()</code> to successfully return a

+        request dispatcher for other web applications running on this virtual

+        host.  Set to <code>false</code> (the default) in security

+        conscious environments, to make <code>getContext()</code> always

+        return <code>null</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>disableURLRewriting</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> to disable support for using URL rewriting

+        to track session IDs for clients of this Context. URL rewriting is an

+        optional component of the servlet 2.5 specification but disabling URL

+        rewriting will result in non-compliant behaviour since the specification

+        requires that there <em>must</em> be a way to retain sessions if the

+        client doesn't allow session cookies. If not specified, the

+        specification compliant default value of <code>false</code> will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>docBase</code></strong></td><td align="left" valign="center">

+        <p>The <em>Document Base</em> (also known as the <em>Context

+        Root</em>) directory for this web application, or the pathname

+        to the web application archive file (if this web application is

+        being executed directly from the WAR file). You may specify

+        an absolute pathname for this directory or WAR file, or a pathname

+        that is relative to the <code>appBase</code> directory of the

+        owning <a href="host.html">Host</a>.</p>

+        <p>The value of this field must not be set unless the Context element is

+        defined in server.xml or the <code>docBase</code> is not located under

+        the <a href="host.html">Host</a>'s <code>appBase</code>.</p>

+        <p>If a symbolic link is used for docBase then changes to the

+        symbolic link will only be effective after a Tomcat restart or

+        by undeploying and redeploying the context. A context reload is not

+        sufficient.</p>

+      </td></tr><tr><td align="left" valign="center"><code>override</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> to have explicit settings in this

+        Context element override any corresponding settings in either the global

+        or <a href="host.html">Host</a> default contexts.  By default, settings

+        from a default context will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>privileged</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> to allow this context to use container

+        servlets, like the manager servlet. Use of the <code>privileged</code>

+        attribute will change the context's parent class loader to be the

+        <em>Server</em> class loader rather than the <em>Shared</em> class

+        loader. Note that in a default installation, the <em>Common</em> class

+        loader is used for both the <em>Server</em> and the <em>Shared</em>

+        class loaders.</p>

+      </td></tr><tr><td align="left" valign="center"><code>path</code></td><td align="left" valign="center">

+        <p>The <em>context path</em> of this web application, which is

+        matched against the beginning of each request URI to select the

+        appropriate web application for processing.  All of the context paths

+        within a particular <a href="host.html">Host</a> must be unique.

+        If you specify a context path of an empty string (""), you are

+        defining the <em>default</em> web application for this Host, which

+        will process all requests not assigned to other Contexts.</p>

+        <p>This attribute must only be used when statically defining a Context

+        in server.xml. In all other circumstances, the path will be inferred

+        from the filenames used for either the .xml context file or the docBase.

+        </p>

+        <p>Even when statically defining a Context in server.xml, this attribute

+        must not be set unless either the docBase is not located under the

+        <a href="host.html">Host</a>'s <code>appBase</code> or both

+        <code>deployOnStartup</code> and <code>autoDeploy</code> are false. If

+        this rule is not followed, double deployment is likely to result.</p>

+      </td></tr><tr><td align="left" valign="center"><code>reloadable</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want Catalina to monitor classes in

+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for

+        changes, and automatically reload the web application if a change

+        is detected.  This feature is very useful during application

+        development, but it requires significant runtime overhead and is

+        not recommended for use on deployed production applications.  That's

+        why the default setting for this attribute is <i>false</i>.  You

+        can use the <a href="../manager-howto.html">Manager</a> web

+        application, however, to trigger reloads of deployed applications

+        on demand.</p>

+      </td></tr><tr><td align="left" valign="center"><code>sessionCookieDomain</code></td><td align="left" valign="center">

+        <p>The domain to be used for all session cookies created for this

+        Context. If not set, no domain will be specified for session cookies.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>sessionCookieName</code></td><td align="left" valign="center">

+        <p>The name to be used for all session cookies created for this

+        Context. If not set, the default of JSESSIONID will be used. Note that

+        this default will be overridden by the

+        <strong>org.apache.catalina.SESSION_COOKIE_NAME</strong> system

+        property.</p>

+      </td></tr><tr><td align="left" valign="center"><code>sessionCookiePath</code></td><td align="left" valign="center">

+        <p>The path to be used for all session cookies created for this

+        Context. If not set, the context path will be used. Note that this will

+        be overridden by the <strong>emptySessionPath</strong> attribute on the

+        connector used to access this Context.</p>

+      </td></tr><tr><td align="left" valign="center"><code>tldValidation</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the TLD files

+        will be XML validated on context startup.  If the

+        <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>

+        <a href="systemprops.html">system property</a> is set to

+        <code>true</code>, the default value of this attribute will be

+        <code>true</code>, else the default value will be <code>false</code>.

+        Setting this attribute to <code>true</code> will incur a performance

+        penalty.</p>

+      </td></tr><tr><td align="left" valign="center"><code>useHttpOnly</code></td><td align="left" valign="center">

+       <p>Should the HttpOnly flag be set on session cookies to prevent client

+          side script from accessing the session ID? Defaults to

+          <code>false</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>wrapperClass</code></td><td align="left" valign="center">

+        <p>Java class name of the <code>org.apache.catalina.Wrapper</code>

+        implementation class that will be used for servlets managed by this

+        Context.  If not specified, a standard default value will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>xmlBlockExternal</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the parsing of

+        <code>web.xml</code>, <code>web-fragment.xml</code>, <code>*.tld</code>,

+        <code>*.jspx</code>, <code>*.tagx</code> and <code>tagPlugins.xml</code>

+        files for this web application will not permit external entities to be

+        loaded. If a <code>SecurityManager</code> is configured then the default

+        value of this attribute will be <code>true</code>, else the default

+        value will be <code>false</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>xmlNamespaceAware</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the parsing of the

+        <code>web.xml</code> file for this web application will be

+        namespace-aware. Note that <code>*.tld</code>, <code>*.jspx</code> and

+        <code>*.tagx</code> files are always parsed using a namespace-aware

+        parser and that the <code>tagPlugins.xml</code> file (if any) is never

+        parsed using a namespace-aware parser. Note also that if you turn this

+        flag on, you should probably also turn <code>xmlValidation</code> on. If

+        the <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>

+        <a href="systemprops.html">system property</a> is set to

+        <code>true</code>, the default value of this attribute will be

+        <code>true</code>, else the default value will be <code>false</code>.

+        Setting this attribute to <code>true</code> will incur a performance

+        penalty.</p>

+      </td></tr><tr><td align="left" valign="center"><code>xmlValidation</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the parsing of the

+        <code>web.xml</code> file for this web application will use a validating

+        parser. If the

+        <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>

+        <a href="systemprops.html">system property</a> is set to

+        <code>true</code>, the default value of this attribute will be

+        <code>true</code>, else the default value will be <code>false</code>.

+        Setting this attribute to <code>true</code> will incur a performance

+        penalty.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The standard implementation of <strong>Context</strong> is

+    <strong>org.apache.catalina.core.StandardContext</strong>.

+    It supports the following additional attributes (in addition to the

+    common attributes listed above):</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allowLinking</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, symlinks will be

+        allowed inside the web application, pointing to resources outside the

+        web application base path. If not specified, the default value

+        of the flag is <code>false</code>.</p>

+        <p><b>NOTE: This flag MUST NOT be set to true on the Windows platform

+        (or any other OS which does not have a case sensitive filesystem),

+        as it will disable case sensitivity checks, allowing JSP source code

+        disclosure, among other security problems.</b></p>

+      </td></tr><tr><td align="left" valign="center"><code>antiJARLocking</code></td><td align="left" valign="center">

+        <p>If true, the Tomcat classloader will take extra measures to avoid

+        JAR file locking when resources are accessed inside JARs through URLs.

+        This will impact startup time of applications, but could prove to be

+        useful on platforms or configurations where file locking can occur.

+        If not specified, the default value is <code>false</code>.</p>

+

+        <p><code>antiJARLocking</code> is a subset of

+        <code>antiResourceLocking</code> and therefore, to prevent duplicate

+        work and possible issues, only one of these attributes should be set

+        to <code>true</code> at any one time.</p>

+      </td></tr><tr><td align="left" valign="center"><code>antiResourceLocking</code></td><td align="left" valign="center">

+        <p>If true, Tomcat will prevent any file locking.

+        This will significantly impact startup time of applications, 

+        but allows full webapp hot deploy and undeploy on platforms 

+        or configurations where file locking can occur.

+        If not specified, the default value is <code>false</code>.</p>

+   

+        <p><code>antiJARLocking</code> is a subset of

+        <code>antiResourceLocking</code> and therefore, to prevent duplicate

+        work and possible issues, only one of these attributes should be set

+        to <code>true</code> at any one time.</p>

+

+        <p>Please note that setting this to <code>true</code> has some side

+        effects, including the disabling of JSP reloading in a running server:

+        see <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">

+        Bugzilla 37668</a>.</p>

+

+        <p>Please note that setting this flag to true in applications that are

+        outside the appBase for the Host (the <code>webapps</code> directory

+        by default) will cause the application to be <strong>deleted</strong> on

+        Tomcat shutdown.  You probably don't want to do this, so think twice 

+        before setting antiResourceLocking=true on a webapp that's outside the

+        appBase for its Host.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cacheMaxSize</code></td><td align="left" valign="center">

+        <p>Maximum size of the static resource cache in kilobytes. 

+        If not specified, the default value is <code>10240</code>

+        (10 megabytes).</p>

+      </td></tr><tr><td align="left" valign="center"><code>cacheObjectMaxSize</code></td><td align="left" valign="center">

+        <p>Maximum size of the static resource that will be placed in the cache.

+        If not specified, the default value is <code>512</code>

+        (512 kilobytes). If this value is greater than

+        <code>cacheMaxSize/20</code> it will be reduced to

+        <code>cacheMaxSize/20</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cacheTTL</code></td><td align="left" valign="center">

+        <p>Amount of time in milliseconds between cache entries revalidation.

+        If not specified, the default value is <code>5000</code> 

+        (5 seconds).</p>

+      </td></tr><tr><td align="left" valign="center"><code>cachingAllowed</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the cache for static

+        resources will be used. If not specified, the default value

+        of the flag is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>caseSensitive</code></td><td align="left" valign="center">

+        <p><strong>Deprecated.</strong> This option is removed in Tomcat 7

+        onwards where the default of <code>true</code> is always used.</p>

+        <p>If the value of this flag is <code>false</code>, all case sensitivity

+        checks will be disabled. If not 

+        specified, the default value of the flag is <code>true</code>.</p>

+        <p><b>NOTE: This flag MUST NOT be set to false on the Windows platform

+        (or any other OS which does not have a case sensitive filesystem),

+        as it will disable case sensitivity checks, allowing JSP source code

+        disclosure, among other security problems.</b></p>

+      </td></tr><tr><td align="left" valign="center"><code>clearReferencesHttpClientKeepAliveThread</code></td><td align="left" valign="center">

+        <p>If <code>true</code> and an <code>sun.net.www.http.HttpClient</code>

+        keep-alive timer thread has been started by this web application and is

+        still running, Tomcat will change the context class loader for that

+        thread from the current <code>WebappClassLoader</code> to

+        <code>WebappClassLoader#parent</code> to prevent a memory leak. Note

+        that the keep-alive timer thread will stop on its own once the

+        keep-alives all expire however, on a busy system that might not happen

+        for some time. If not specified, the default value of

+        <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>clearReferencesStopThreads</code></td><td align="left" valign="center">

+        <p>If <code>true</code>, Tomcat attempts to terminate threads that have

+        been started by the web application. Stopping threads is performed via

+        the deprecated (for good reason) <code>Thread.stop()</code> method and

+        is likely to result in instability. As such, enabling this should be

+        viewed as an option of last resort in a development environment and is

+        not recommended in a production environment. If not specified, the

+        default value of <code>false</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>clearReferencesStopTimerThreads</code></td><td align="left" valign="center">

+        <p>If <code>true</code>, Tomcat attempts to terminate

+        <code>java.util.Timer</code> threads that have been started by the web

+        application. Unlike standard threads, timer threads can be stopped

+        safely although there may still be side-effects for the application. If

+        not specified, the default value of <code>false</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>clearReferencesThreadLocals</code></td><td align="left" valign="center">

+        <p>If <code>true</code>, Tomcat attempts to clear any ThreadLocal

+        objects that are instances of classes loaded by this class loader.

+        Failure to remove any such objects will result in a memory leak on web

+        application stop, undeploy or reload.  If not specified, the default

+        value of <code>false</code> will be used since the clearing of the

+        ThreadLocal objects is not performed in a thread-safe manner.</p>

+      </td></tr><tr><td align="left" valign="center"><code>processTlds</code></td><td align="left" valign="center">

+        <p>Whether the context should process TLDs on startup.  The default

+        is true.  The false setting is intended for special cases

+        that know in advance TLDs are not part of the webapp.</p>

+      </td></tr><tr><td align="left" valign="center"><code>swallowOutput</code></td><td align="left" valign="center">

+        <p>If the value of this flag is <code>true</code>, the bytes output to

+        System.out and System.err by the web application will be redirected to

+        the web application logger. If not specified, the default value

+        of the flag is <code>false</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>unloadDelay</code></td><td align="left" valign="center">

+        <p>Number of ms that the container will wait for servlets to unload.

+        If not specified, the default value is <code>2000</code> ms.</p>

+      </td></tr><tr><td align="left" valign="center"><code>unpackWAR</code></td><td align="left" valign="center">

+        <p>If true, Tomcat will unpack all compressed web applications before

+        running them.

+        If not specified, the default value is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>useNaming</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> (the default) to have Catalina enable a

+        JNDI <code>InitialContext</code> for this web application that is

+        compatible with Java2 Enterprise Edition (J2EE) platform

+        conventions.</p>

+      </td></tr><tr><td align="left" valign="center"><code>workDir</code></td><td align="left" valign="center">

+        <p>Pathname to a scratch directory to be provided by this Context

+        for temporary read-write use by servlets within the associated web

+        application.  This directory will be made visible to servlets in the

+        web application by a servlet context attribute (of type

+        <code>java.io.File</code>) named

+        <code>javax.servlet.context.tempdir</code> as described in the

+        Servlet Specification.  If not specified, a suitable directory

+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>You can nest at most one instance of the following utility components

+  by nesting a corresponding element inside your <strong>Context</strong>

+  element:</p>

+  <ul>

+  <li><a href="loader.html"><strong>Loader</strong></a> -

+      Configure the web application class loader that will be used to load

+      servlet and bean classes for this web application.  Normally, the

+      default configuration of the class loader will be sufficient.</li>

+  <li><a href="manager.html"><strong>Manager</strong></a> -

+      Configure the session manager that will be used to create, destroy,

+      and persist HTTP sessions for this web application.  Normally, the

+      default configuration of the session manager will be sufficient.</li>

+  <li><a href="realm.html"><strong>Realm</strong></a> -

+      Configure a realm that will allow its

+      database of users, and their associated roles, to be utilized solely

+      for this particular web application.  If not specified, this web

+      application will utilize the Realm associated with the owning

+      <a href="host.html">Host</a> or <a href="engine.html">Engine</a>.</li>

+  <li><a href="resources.html"><strong>Resources</strong></a> -

+      Configure the resource manager that will be used to access the static

+      resources associated with this web application.  Normally, the

+      default configuration of the resource manager will be sufficient.</li>

+  <li><strong>WatchedResource</strong> - The auto deployer will monitor the 

+      specified static resource of the web application for updates, and will

+      reload the web application if is is updated. The content of this element

+      must be a string.</li>

+  </ul>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>A context is associated with the 

+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]</code>

+       log category.  Note that the brackets are actually part of the name, don't omit them.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Logs"><!--()--></a><a name="Access_Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>When you run a web server, one of the output files normally generated

+    is an <em>access log</em>, which generates one line of information for

+    each request processed by the server, in a standard format.  Catalina

+    includes an optional <a href="valve.html">Valve</a> implementation that

+    can create access logs in the same standard format created by web servers,

+    or in any number of custom formats.</p>

+

+    <p>You can ask Catalina to create an access log for all requests

+    processed by an <a href="engine.html">Engine</a>,

+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>

+    by nesting a <a href="valve.html">Valve</a> element like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"

+         prefix="localhost_access_log." suffix=".txt"

+         pattern="common"/&gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>

+    for more information on the configuration attributes that are

+    supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Automatic Context Configuration"><!--()--></a><a name="Automatic_Context_Configuration"><strong>Automatic Context Configuration</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>If you use the standard <strong>Context</strong> implementation,

+    the following configuration steps occur automatically when Catalina

+    is started, or whenever this web application is reloaded.  No special

+    configuration is required to enable this feature.</p>

+    

+    <ul>

+    <li>If you have not declared your own <a href="loader.html">Loader</a>

+       element, a standard web application class loader will be configured.

+       </li>

+    <li>If you have not declared your own <a href="manager.html">Manager</a>

+        element, a standard session manager will be configured.</li>

+    <li>If you have not declared your own <a href="resources.html">Resources</a>

+        element, a standard resources manager will be configured.</li>

+    <li>The web application properties listed in <code>conf/web.xml</code>

+        will be processed as defaults for this web application.  This is used

+        to establish default mappings (such as mapping the <code>*.jsp</code>

+        extension to the corresponding JSP servlet), and other standard

+        features that apply to all web applications.</li>

+    <li>The web application properties listed in the

+        <code>/WEB-INF/web.xml</code> resource for this web application

+        will be processed (if this resource exists).</li>

+    <li>If your web application has specified security constraints that might

+        require user authentication, an appropriate Authenticator that

+        implements the login method you have selected will be configured.</li>

+    </ul>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Context Parameters"><!--()--></a><a name="Context_Parameters"><strong>Context Parameters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can configure named values that will be made visible to the

+    web application as servlet context initialization parameters by nesting

+    <code>&lt;Parameter&gt;</code> elements inside this element.  For

+    example, you can create an initialization parameter like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Parameter name="companyName" value="My Company, Incorporated"

+         override="false"/&gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>This is equivalent to the inclusion of the following element in the

+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):

+    </p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;context-param&gt;

+  &lt;param-name&gt;companyName&lt;/param-name&gt;

+  &lt;param-value&gt;My Company, Incorporated&lt;/param-value&gt;

+&lt;/context-param&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    <p>but does <em>not</em> require modification of the deployment descriptor

+    to customize this value.</p>

+

+    <p>The valid attributes for a <code>&lt;Parameter&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>description</code></td><td align="left" valign="center">

+        <p>Optional, human-readable description of this context

+        initialization parameter.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the context initialization parameter to be created.</p>

+      </td></tr><tr><td align="left" valign="center"><code>override</code></td><td align="left" valign="center">

+        <p>Set this to <code>false</code> if you do <strong>not</strong> want

+        a <code>&lt;context-param&gt;</code> for the same parameter name,

+        found in the web application deployment descriptor, to override the

+        value specified here.  By default, overrides are allowed.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>value</code></strong></td><td align="left" valign="center">

+        <p>The parameter value that will be presented to the application

+        when requested by calling

+        <code>ServletContext.getInitParameter()</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Environment Entries"><!--()--></a><a name="Environment_Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can configure named values that will be made visible to the

+    web application as environment entry resources, by nesting

+    <code>&lt;Environment&gt;</code> entries inside this element.  For

+    example, you can create an environment entry like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Environment name="maxExemptions" value="10"

+         type="java.lang.Integer" override="false"/&gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>This is equivalent to the inclusion of the following element in the

+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):

+    </p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;env-entry&gt;

+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;

+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;

+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;

+&lt;/env-entry&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    <p>but does <em>not</em> require modification of the deployment descriptor

+    to customize this value.</p>

+

+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>description</code></td><td align="left" valign="center">

+        <p>Optional, human-readable description of this environment entry.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the environment entry to be created, relative to the

+        <code>java:comp/env</code> context.</p>

+      </td></tr><tr><td align="left" valign="center"><code>override</code></td><td align="left" valign="center">

+        <p>Set this to <code>false</code> if you do <strong>not</strong> want

+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,

+        found in the web application deployment descriptor, to override the

+        value specified here.  By default, overrides are allowed.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="left" valign="center">

+        <p>The fully qualified Java class name expected by the web application

+        for this environment entry.  Must be one of the legal values for

+        <code>&lt;env-entry-type&gt;</code> in the web application deployment

+        descriptor:  <code>java.lang.Boolean</code>,

+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,

+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,

+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,

+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>value</code></strong></td><td align="left" valign="center">

+        <p>The parameter value that will be presented to the application

+        when requested from the JNDI context.  This value must be convertable

+        to the Java type defined by the <code>type</code> attribute.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Lifecycle Listeners"><!--()--></a><a name="Lifecycle_Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>If you have implemented a Java object that needs to know when this

+    <strong>Context</strong> is started or stopped, you can declare it by

+    nesting a <strong>Listener</strong> element inside this element.  The

+    class name you specify must implement the

+    <code>org.apache.catalina.LifecycleListener</code> interface, and

+    the class must be packaged in a jar and placed in the 

+    <code>$CATALINA_HOME/lib</code> directory. 

+    It will be notified about the occurrence of the corresponding

+    lifecycle events.  Configuration of such a listener looks like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>Note that a Listener can have any number of additional properties

+    that may be configured from this element.  Attribute names are matched

+    to corresponding JavaBean property names using the standard property

+    method naming patterns.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Filters"><!--()--></a><a name="Request_Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can ask Catalina to check the IP address, or host name, on every

+    incoming request directed to the surrounding

+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+    <a href="context.html">Context</a> element.  The remote address or name

+    will be checked against a configured list of "accept" and/or "deny"

+    filters, which are defined using <code>java.util.regex</code> Regular

+    Expression syntax.  Requests that come from locations that are

+    not accepted will be rejected with an HTTP "Forbidden" error.

+    Example filter declarations:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"

+         allow=".*\.mycompany\.com|www\.yourcompany\.com"/&gt;

+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"

+         deny="192\.168\.1\.\d+"/&gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>

+    and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for

+    more information about the configuration options that are supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Resource Definitions"><!--()--></a><a name="Resource_Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can declare the characteristics of the resource

+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and

+    <code>&lt;resource-env-ref&gt;</code> elements in the web application

+    deployment descriptor.  You <strong>MUST</strong> also define

+    the needed resource parameters as attributes of the <code>Resource</code> 

+    element, to configure the object factory to be used (if not known to Tomcat 

+    already), and the properties used to configure that object factory.</p>

+

+    <p>For example, you can create a resource definition like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"

+            type="javax.sql.DataSource"

+     description="Employees Database for HR Applications"/&gt;

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>This is equivalent to the inclusion of the following element in the

+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;resource-ref&gt;

+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;

+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;

+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;

+  &lt;res-auth&gt;Container&lt;/res-auth&gt;

+&lt;/resource-ref&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>but does <em>not</em> require modification of the deployment

+    descriptor to customize this value.</p>

+

+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>auth</code></td><td align="left" valign="center">

+        <p>Specify whether the web Application code signs on to the

+        corresponding resource manager programatically, or whether the

+        Container will sign on to the resource manager on behalf of the

+        application.  The value of this attribute must be

+        <code>Application</code> or <code>Container</code>.  This

+        attribute is <strong>required</strong> if the web application

+        will use a <code>&lt;resource-ref&gt;</code> element in the web

+        application deployment descriptor, but is optional if the

+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>

+      </td></tr><tr><td align="left" valign="center"><code>description</code></td><td align="left" valign="center">

+        <p>Optional, human-readable description of this resource.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the resource to be created, relative to the

+        <code>java:comp/env</code> context.</p>

+      </td></tr><tr><td align="left" valign="center"><code>scope</code></td><td align="left" valign="center">

+        <p>Specify whether connections obtained through this resource

+        manager can be shared.  The value of this attribute must be

+        <code>Shareable</code> or <code>Unshareable</code>.  By default,

+        connections are assumed to be shareable.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="left" valign="center">

+        <p>The fully qualified Java class name expected by the web

+        application when it performs a lookup for this resource.</p>

+      </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Resource Links"><!--()--></a><a name="Resource_Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>

+

+     <p>This element is used to create a link to a global JNDI resource. Doing

+     a JNDI lookup on the link name will then return the linked global 

+     resource.</p>

+

+    <p>For example, you can create a resource link like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Context&gt;

+  ...

+  &lt;ResourceLink name="linkToGlobalResource"

+            global="simpleValue"

+            type="java.lang.Integer"

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>The valid attributes for a <code>&lt;ResourceLink&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>global</code></strong></td><td align="left" valign="center">

+        <p>The name of the linked global resource in the 

+        global JNDI context.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the resource link to be created, relative to the

+        <code>java:comp/env</code> context.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="left" valign="center">

+        <p>The fully qualified Java class name expected by the web

+        application when it performs a lookup for this resource link.</p>

+      </td></tr><tr><td align="left" valign="center"><code>factory</code></td><td align="left" valign="center">

+        <p>The fully qualified Java class name for the class creating these objects.

+        This class should implement the <code>javax.naming.spi.ObjectFactory</code> interface.</p>

+      </td></tr></table>

+

+    <p>When the attribute <code>factory="org.apache.naming.factory.DataSourceLinkFactory"</code> the resource link can be used with

+       two additional attributes to allow a shared data source to be used with different credentials.

+       When these two additional attributes are used in combination with the <code>javax.sql.DataSource</code>

+       type, different contexts can share a global data source with different credentials.

+       Under the hood, what happens is that a call to <a href="http://docs.oracle.com/javase/6/docs/api/javax/sql/DataSource.html#getConnection()"><code>getConnection()</code></a>

+       is simply translated to a call <a href="http://docs.oracle.com/javase/6/docs/api/javax/sql/DataSource.html#getConnection(java.lang.String,%20java.lang.String)">

+       <code>getConnection(username, password)</code></a> on the global data source. This is an easy way to get code to be transparent to what schemas are being used,

+       yet be able to control connections (or pools) in the global configuration. 

+    </p>

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>username</code></td><td align="left" valign="center">

+        <p><code>username</code> value for the <code>getConnection(username, password)</code>

+           call on the linked global DataSource.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>password</code></td><td align="left" valign="center">

+        <p><code>password</code> value for the <code>getConnection(username, password)</code>

+           call on the linked global DataSource.

+        </p>

+      </td></tr></table>

+    <p>Shared Data Source Example:</p>

+    <p><strong>Warning:</strong> This feature works only if the global DataSource

+supports <code>getConnection(username, password)</code> method.

+<a href="http://commons.apache.org/dbcp/">Apache Commons DBCP</a> pool that

+Tomcat uses by default does not support it. See its Javadoc for

+<code>BasicDataSource</code> class.

+<a href="http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html">Apache Tomcat JDBC pool</a>

+(included with Tomcat 7 and later) does support it,

+but by default this support is disabled and can be enabled by

+<code>alternateUsernameAllowed</code> attribute. See its documentation

+for details. The example below uses Apache Tomcat JDBC pool.</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;GlobalNamingResources&gt;

+  ...

+  &lt;Resource name="sharedDataSource"

+            global="sharedDataSource"

+            type="javax.sql.DataSource"

+            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

+            alternateUsernameAllowed="true"

+            username="bar"

+            password="barpass"

+            ...

+  ...

+&lt;/GlobalNamingResources&gt;

+

+&lt;Context path="/foo"...&gt;

+  ...

+  &lt;ResourceLink 

+            name="appDataSource"

+            global="sharedDataSource"

+            type="javax.sql.DataSource"

+            factory="org.apache.naming.factory.DataSourceLinkFactory"

+            username="foo"

+            password="foopass"

+  ...

+&lt;/Context&gt;

+&lt;Context path="/bar"...&gt;

+  ...

+  &lt;ResourceLink 

+            name="appDataSource"

+            global="sharedDataSource"

+            type="javax.sql.DataSource"

+  ...

+&lt;/Context&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>    

+    <p>When a request for <code>getConnection()</code> is made in the <code>/foo</code> context, the request is translated into

+       <code>getConnection("foo","foopass")</code>, while a request in the <code>/bar</code> gets passed straight through.</p>

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can declare the characteristics of the UserTransaction

+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 

+    You <strong>MUST</strong> define an object factory class to instantiate

+    this object as well as the needed resource parameters as attributes of the 

+    <code>Transaction</code> 

+    element, and the properties used to configure that object factory.</p>

+

+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>factory</code></strong></td><td align="left" valign="center">

+        <p>The class name for the JNDI object factory.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/engine.html b/tomcat-uid/webapps/docs/config/engine.html
new file mode 100644
index 0000000..8197380
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/engine.html
@@ -0,0 +1,202 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Engine Container</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Engine Container</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li><li><a href="#Access_Logs">Access Logs</a></li><li><a href="#Lifecycle_Listeners">Lifecycle Listeners</a></li><li><a href="#Request_Filters">Request Filters</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Engine</strong> element represents the entire request

+  processing machinery associated with a particular Catalina

+  <a href="service.html">Service</a>.  It receives and processes

+  <em>all</em> requests from one or more <strong>Connectors</strong>,

+  and returns the completed response to the Connector for ultimate

+  transmission back to the client.</p>

+

+  <p>Exactly one <strong>Engine</strong> element MUST be nested inside

+  a <a href="service.html">Service</a> element, following all of the

+  corresponding Connector elements associated with this Service.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Engine</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>backgroundProcessorDelay</code></td><td align="left" valign="center">

+        <p>This value represents the delay in seconds between the 

+        invocation of the backgroundProcess method on this engine and 

+        its child containers, including all hosts and contexts. 

+        Child containers will not be invoked if their delay value is not 

+        negative (which would mean they are using their own processing 

+        thread). Setting this to a positive value will cause 

+        a thread to be spawn. After waiting the specified amount of time, 

+        the thread will invoke the backgroundProcess method on this engine 

+        and all its child containers. If not specified, the default value for

+        this attribute is 10, which represent a 10 seconds delay.</p>

+      </td></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Engine</code> interface.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>defaultHost</code></strong></td><td align="left" valign="center">

+        <p>The default host name, which identifies the

+        <a href="host.html">Host</a> that will process requests directed

+        to host names on this server, but which are not configured in

+        this configuration file.  This name MUST match the <code>name</code>

+        attributes of one of the <a href="host.html">Host</a> elements

+        nested immediately inside.</p>

+      </td></tr><tr><td align="left" valign="center"><code>jvmRoute</code></td><td align="left" valign="center">

+        <p>Identifier which must be used in load balancing scenarios to enable

+        session affinity. The identifier, which must be unique across all

+        Tomcat 6 servers which participate in the cluster, will be appended to

+        the generated session identifier, therefore allowing the front end

+        proxy to always forward a particular session to the same Tomcat 6

+        instance.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>Logical name of this Engine, used in log and error messages. <em>When

+        using multiple <a href="service.html">Service</a> elements in the same

+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique

+        name.</em></p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The standard implementation of <strong>Engine</strong> is

+    <strong>org.apache.catalina.core.StandardEngine</strong>.

+    It supports the following additional attributes (in addition to the

+    common attributes listed above):</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>You can nest one or more <a href="host.html">Host</a> elements inside

+  this <strong>Engine</strong> element, each representing a different virtual

+  host associated with this server.  At least one <a href="host.html">Host</a>

+  is required, and one of the nested <a href="host.html">Hosts</a> MUST

+  have a name that matches the name specified for the

+  <code>defaultHost</code> attribute, listed above.</p>

+

+  <p>You can nest at most one instance of the following utility components

+  by nesting a corresponding element inside your <strong>Engine</strong>

+  element:</p>

+  <ul>

+  <li><a href="realm.html"><strong>Realm</strong></a> -

+      Configure a realm that will allow its

+      database of users, and their associated roles, to be shared across all

+      <a href="host.html">Hosts</a> and <a href="context.html">Contexts</a>

+      nested inside this Engine, unless overridden by a

+      <a href="realm.html">Realm</a> configuration at a lower level.</li>

+  </ul>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>An engine is associated with the 

+       <code>org.apache.catalina.core.ContainerBase.[enginename]</code>

+       log category.  Note that the brackets are actually part of the name,

+       don't omit them.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Logs"><!--()--></a><a name="Access_Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>When you run a web server, one of the output files normally generated

+    is an <em>access log</em>, which generates one line of information for

+    each request processed by the server, in a standard format.  Catalina

+    includes an optional <a href="valve.html">Valve</a> implementation that

+    can create access logs in the same standard format created by web servers,

+    or in any number of custom formats.</p>

+

+    <p>You can ask Catalina to create an access log for all requests

+    processed by an <a href="engine.html">Engine</a>,

+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>

+    by nesting a <a href="valve.html">Valve</a> element like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Engine name="Standalone" ...&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"

+         prefix="catalina_access_log." suffix=".txt"

+         pattern="common"/&gt;

+  ...

+&lt;/Engine&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>

+    for more information on the configuration attributes that are

+    supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Lifecycle Listeners"><!--()--></a><a name="Lifecycle_Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>If you have implemented a Java object that needs to know when this

+    <strong>Engine</strong> is started or stopped, you can declare it by

+    nesting a <strong>Listener</strong> element inside this element.  The

+    class name you specify must implement the

+    <code>org.apache.catalina.LifecycleListener</code> interface, and

+    it will be notified about the occurrence of the corresponding

+    lifecycle events.  Configuration of such a listener looks like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Engine name="Standalone" ...&gt;

+  ...

+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;

+  ...

+&lt;/Engine&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>Note that a Listener can have any number of additional properties

+    that may be configured from this element.  Attribute names are matched

+    to corresponding JavaBean property names using the standard property

+    method naming patterns.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Filters"><!--()--></a><a name="Request_Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can ask Catalina to check the IP address, or host name, on every

+    incoming request directed to the surrounding

+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+    <a href="context.html">Context</a> element.  The remote address or name

+    will be checked against a configured list of "accept" and/or "deny"

+    filters, which are defined using <code>java.util.regex</code> Regular

+    Expression syntax.  Requests that come from locations that are

+    not accepted will be rejected with an HTTP "Forbidden" error.

+    Example filter declarations:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Engine name="Standalone" ...&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"

+         allow=".*\.mycompany\.com|www\.yourcompany\.com"/&gt;

+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"

+         deny="192\.168\.1\.\d+"/&gt;

+  ...

+&lt;/Engine&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>

+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for

+  more information about the configuration options that are supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/executor.html b/tomcat-uid/webapps/docs/config/executor.html
new file mode 100644
index 0000000..5a51f08
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/executor.html
@@ -0,0 +1,70 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Executor (thread pool)</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Executor (thread pool)</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Executor</strong> represents a thread pool that can be shared 

+     between components in Tomcat. Historically there has been a thread pool per

+     connector created but this allows you to share a thread pool, between (primarly) connector

+     but also other components when those get configured to support executors</p>

+

+

+  <p>The executor has to implement the <code>org.apache.catalina.Executor</code> interface.</p>

+  

+  <p>The executor is a nested element to the <a href="service.html">Service</a> element.

+     And in order for it to be picked up by the connectors, the Executor element has to appear

+     prior to the Connector element in server.xml</p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>All implementations of <strong>Executor</strong>

+  support the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+      <p>The class of the implementation. The implementation has to implement the 

+         <code>org.apache.catalina.Executor</code> interface.

+         This interface ensures that the object can be referenced through its <code>name</code> attribute

+         and that implements Lifecycle, so that it can be started and stopped with the container.

+         The default value for the className is <code>org.apache.catalina.core.StandardThreadExecutor</code></p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+      <p>The name used to reference this pool in other places in server.xml.

+         The name is required and must be unique.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>

+  The default implementation supports the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>threadPriority</code></td><td align="left" valign="center">

+      <p>(int) The thread priority for threads in the executor, the default is

+      <code>5</code> (the value of the <code>Thread.NORM_PRIORITY</code> constant)</p>

+    </td></tr><tr><td align="left" valign="center"><code>daemon</code></td><td align="left" valign="center">

+      <p>(boolean) Whether the threads should be daemon threads or not, the default is <code>true</code></p>

+    </td></tr><tr><td align="left" valign="center"><code>namePrefix</code></td><td align="left" valign="center">

+      <p>(String) The name prefix for each thread created by the executor.

+         The thread name for an individual thread will be <code>namePrefix+threadNumber</code></p>

+    </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">

+      <p>(int) The max number of active threads in this pool, default is <code>200</code></p>

+    </td></tr><tr><td align="left" valign="center"><code>minSpareThreads</code></td><td align="left" valign="center">

+      <p>(int) The minimum number of threads always kept alive, default is <code>25</code></p>

+    </td></tr><tr><td align="left" valign="center"><code>maxIdleTime</code></td><td align="left" valign="center">

+      <p>(int) The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less

+         or equal to minSpareThreads. Default value is <code>60000</code>(1 minute)</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxQueueSize</code></td><td align="left" valign="center">

+      <p>(int) The maximum number of runnable tasks that can queue up awaiting

+        execution before we reject them. Default value is <code>Integer.MAX_VALUE</code></p>

+    </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/filter.html b/tomcat-uid/webapps/docs/config/filter.html
new file mode 100644
index 0000000..118fb51
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/filter.html
@@ -0,0 +1,159 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - Container Provided Filters</title><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>Container Provided Filters</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#CSRF_Prevention_Filter">CSRF Prevention Filter</a><ol><li><a href="#CSRF_Prevention_Filter/Introduction">Introduction</a></li><li><a href="#CSRF_Prevention_Filter/Filter_Class_Name">Filter Class Name</a></li><li><a href="#CSRF_Prevention_Filter/Initialisation_parameters">Initialisation parameters</a></li></ol></li><li><a href="#Set_Character_Encoding_Filter">Set Character Encoding Filter</a><ol><li><a href="#Set_Character_Encoding_Filter/Introduction">Introduction</a></li><li><a href="#Set_Character_Encoding_Filter/Filter_Class_Name">Filter Class Name</a></li><li><a href="#Set_Character_Encoding_Filter/Initialisation_parameters">Initialisation parameters</a></li></ol></li><li><a href="#Failed_Request_Filter">Failed Request Filter</a><ol><li><a href="#Failed_Request_Filter/Introduction">Introduction</a></li><li><a href="#Failed_Request_Filter/Filter_Class_Name">Filter Class Name</a></li><li><a href="#Failed_Request_Filter/Initialisation_parameters">Initialisation parameters</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>Tomcat provides a number of <strong>Filters</strong> which may be

+  configured for use with all web applications using

+  <code>$CATALINA_BASE/conf/web.xml</code> or may be configured for individual

+  web applications by configuring them in the application's

+  <code>WEB-INF/web.xml</code>. Each filter is described below.</p>

+

+    <blockquote><em>

+    <p>This description uses the variable name $CATALINA_BASE to refer the

+    base directory against which most relative paths are resolved. If you have

+    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.</p>

+    </em></blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="CSRF Prevention Filter"><!--()--></a><a name="CSRF_Prevention_Filter"><strong>CSRF Prevention Filter</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="CSRF Prevention Filter/Introduction"><!--()--></a><a name="CSRF_Prevention_Filter/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>This filter provides basic CSRF protection for a web application. The

+    filter assumes that it is mapped to <code>/*</code> and that all URLs

+    returned to the client are encoded via a call to

+    <code>HttpServletResponse#encodeRedirectURL(String)</code> or

+    <code>HttpServletResponse#encodeURL(String)</code>.</p>

+    

+    <p>This filter prevents CSRF by generating a nonce and storing it in the

+    session. URLs are also encoded with the same nonce. When the next request is

+    received the nonce in the request is compared to the nonce in the session

+    and only if they are the same is the request allowed to continue.</p>

+    

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="CSRF Prevention Filter/Filter Class Name"><!--()--></a><a name="CSRF_Prevention_Filter/Filter_Class_Name"><strong>Filter Class Name</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The filter class name for the CSRF Prevention Filter is

+    <strong><code>org.apache.catalina.filters.CsrfPreventionFilter</code>

+    </strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="CSRF Prevention Filter/Initialisation parameters"><!--()--></a><a name="CSRF_Prevention_Filter/Initialisation_parameters"><strong>Initialisation parameters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The CSRF Prevention Filter supports the following initialisation

+    parameters:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>entryPoints</code></td><td align="left" valign="center">

+        <p>A comma separated list of URLs that will not be tested for the

+        presence of a valid nonce. They are used to provide a way to navigate

+        back to a protected application after having navigated away from it.

+        Entry points will be limited to HTTP GET requests and should not trigger

+        any security sensitive actions.</p>

+      </td></tr><tr><td align="left" valign="center"><code>nonceCacheSize</code></td><td align="left" valign="center">

+        <p>The number of previously issued nonces that will be cached on a LRU

+        basis to support parallel requests, limited use of the refresh and back

+        in the browser and similar behaviors that may result in the submission

+        of a previous nonce rather than the current one. If not set, the default

+        value of 5 will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>randomClass</code></td><td align="left" valign="center">

+        <p>The name of the class to use to generate nonces. The class must be an

+        instance of <code>java.util.Random</code>. If not set, the default value

+        of <code>java.security.SecureRandom</code> will be used.</p>

+      </td></tr></table>

+    

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Set Character Encoding Filter"><!--()--></a><a name="Set_Character_Encoding_Filter"><strong>Set Character Encoding Filter</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Set Character Encoding Filter/Introduction"><!--()--></a><a name="Set_Character_Encoding_Filter/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>User agents don't always include character encoding information in

+    requests. Depending on the how the request is processed, usually the

+    default encoding of ISO-8859-1 is used. This is not always

+    desirable. This filter provides options for setting that encoding or

+    forcing it to a particular value. Essentially this filter calls

+    <code>ServletRequest.setCharacterEncoding()</code> method.</p>

+

+    <p>Effectively the value set by this filter is used when parsing parameters

+    in a POST request, if parameter parsing occurs later than this filter. Thus

+    the order of filter mappings is important. Note that the encoding for GET

+    requests is not set here, but on a <strong>Connector</strong>. See

+    CharacterEncoding page in the FAQ for details.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Set Character Encoding Filter/Filter Class Name"><!--()--></a><a name="Set_Character_Encoding_Filter/Filter_Class_Name"><strong>Filter Class Name</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The filter class name for the Set Character Encoding Filter is

+    <strong><code>org.apache.catalina.filters.SetCharacterEncodingFilter</code></strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Set Character Encoding Filter/Initialisation parameters"><!--()--></a><a name="Set_Character_Encoding_Filter/Initialisation_parameters"><strong>Initialisation parameters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The Set Character Encoding Filter supports the following initialization

+    parameters:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>encoding</code></strong></td><td align="left" valign="center">

+        <p>Name of the character encoding which should be set.</p>

+      </td></tr><tr><td align="left" valign="center"><code>ignore</code></td><td align="left" valign="center">

+        <p>Determines if any character encoding specified by the user agent is

+        ignored. If this attribute is <code>true</code>, any value provided by

+        the user agent is ignored. If <code>false</code>, the encoding is only

+        set if the user agent did not specify an encoding. The default value

+        is <code>false</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Failed Request Filter"><!--()--></a><a name="Failed_Request_Filter"><strong>Failed Request Filter</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Failed Request Filter/Introduction"><!--()--></a><a name="Failed_Request_Filter/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>This filter triggers parameters parsing in a request and rejects the

+    request if some parameters were skipped during parameter parsing because

+    of parsing errors or request size limitations (such as

+    <code>maxParameterCount</code> attribute in a

+    <a href="http.html">Connector</a>).

+    This filter can be used to ensure that none parameter values submitted by

+    client are lost.</p>

+

+    <p>Note that parameter parsing may consume the body of an HTTP request, so

+    caution is needed if the servlet protected by this filter uses

+    <code>request.getInputStream()</code> or <code>request.getReader()</code>

+    calls. In general the risk of breaking a web application by adding this

+    filter is not so high, because parameter parsing does check content type

+    of the request before consuming the request body.</p>

+

+    <p>Note, that for the POST requests to be parsed correctly, a

+    <code>SetCharacterEncodingFilter</code> filter must be configured above

+    this one. See CharacterEncoding page in the FAQ for details.</p>

+

+    <p>The request is rejected with HTTP status code 400 (Bad Request).</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Failed Request Filter/Filter Class Name"><!--()--></a><a name="Failed_Request_Filter/Filter_Class_Name"><strong>Filter Class Name</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The filter class name for the Failed Request Filter is

+    <strong><code>org.apache.catalina.filters.FailedRequestFilter</code></strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Failed Request Filter/Initialisation parameters"><!--()--></a><a name="Failed_Request_Filter/Initialisation_parameters"><strong>Initialisation parameters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The Failed Request Filter does not support any initialization parameters.</p>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/globalresources.html b/tomcat-uid/webapps/docs/config/globalresources.html
new file mode 100644
index 0000000..1e29141
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/globalresources.html
@@ -0,0 +1,202 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The GlobalNamingResources Component</title><meta name="author" content="Remy Maucherat"><meta name="author" content="Yoav Shapira"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The GlobalNamingResources Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Environment_Entries">Environment Entries</a></li><li><a href="#Resource_Definitions">Resource Definitions</a></li><li><a href="#Resource_Links">Resource Links</a></li><li><a href="#Transaction">Transaction</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>GlobalNamingResources</strong> element defines the global

+  JNDI resources for the <a href="server.html">Server</a>.</p>

+

+  <p>These resources are listed in the server's global JNDI resource context.

+   This context is distinct from the per-web-application JNDI contexts 

+  described in

+  the <a href="../jndi-resources-howto.html">JNDI Resources HOW-TO</a>.

+  The resources defined in this element are <strong>not</strong> visible in

+  the per-web-application contexts unless you explicitly link them with

+  <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> elements.

+  </p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Environment Entries"><!--()--></a><a name="Environment_Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>You can configure named values that will be made visible to all

+    web applications as environment entry resources by nesting

+    <code>&lt;Environment&gt;</code> entries inside this element. For

+    example, you can create an environment entry like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;GlobalNamingResources ...&gt;

+  ...

+  &lt;Environment name="maxExemptions" value="10"

+         type="java.lang.Integer" override="false"/&gt;

+  ...

+&lt;/GlobalNamingResources&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>This is equivalent to the inclusion of the following element in the

+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):

+    </p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;env-entry&gt;

+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;

+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;

+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;

+&lt;/env-entry&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    <p>but does <em>not</em> require modification of the deployment descriptor

+    to customize this value.</p>

+

+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>description</code></td><td align="left" valign="center">

+        <p>Optional, human-readable description of this environment entry.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the environment entry to be created, relative to the

+        <code>java:comp/env</code> context.</p>

+      </td></tr><tr><td align="left" valign="center"><code>override</code></td><td align="left" valign="center">

+        <p>Set this to <code>false</code> if you do <strong>not</strong> want

+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,

+        found in the web application deployment descriptor, to override the

+        value specified here.  By default, overrides are allowed.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="left" valign="center">

+        <p>The fully qualified Java class name expected by the web application

+        for this environment entry.  Must be one of the legal values for

+        <code>&lt;env-entry-type&gt;</code> in the web application deployment

+        descriptor:  <code>java.lang.Boolean</code>,

+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,

+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,

+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,

+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>value</code></strong></td><td align="left" valign="center">

+        <p>The parameter value that will be presented to the application

+        when requested from the JNDI context.  This value must be convertable

+        to the Java type defined by the <code>type</code> attribute.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Resource Definitions"><!--()--></a><a name="Resource_Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can declare the characteristics of resources

+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and

+    <code>&lt;resource-env-ref&gt;</code> elements in the web application

+    deployment descriptor by defining them in this element and then linking 

+    them with <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 

+    elements

+    in the <code><strong>&lt;Context&gt;</strong></code> element.  

+

+    You <strong>MUST</strong> also define any other needed parameters using

+    attributes on the Resource element, to configure

+    the object factory to be used (if not known to Tomcat already), and

+    the properties used to configure that object factory.</p>

+

+    <p>For example, you can create a resource definition like this:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;GlobalNamingResources ...&gt;

+  ...

+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"

+            type="javax.sql.DataSource"

+     description="Employees Database for HR Applications"/&gt;

+  ...

+&lt;/GlobalNamingResources&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>This is equivalent to the inclusion of the following element in the

+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;resource-ref&gt;

+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;

+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;

+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;

+  &lt;res-auth&gt;Container&lt;/res-auth&gt;

+&lt;/resource-ref&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>but does <em>not</em> require modification of the deployment

+    descriptor to customize this value.</p>

+

+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>auth</code></td><td align="left" valign="center">

+        <p>Specify whether the web Application code signs on to the

+        corresponding resource manager programmatically, or whether the

+        Container will sign on to the resource manager on behalf of the

+        application.  The value of this attribute must be

+        <code>Application</code> or <code>Container</code>.  This

+        attribute is <strong>required</strong> if the web application

+        will use a <code>&lt;resource-ref&gt;</code> element in the web

+        application deployment descriptor, but is optional if the

+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>

+      </td></tr><tr><td align="left" valign="center"><code>description</code></td><td align="left" valign="center">

+        <p>Optional, human-readable description of this resource.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>The name of the resource to be created, relative to the

+        <code>java:comp/env</code> context.</p>

+      </td></tr><tr><td align="left" valign="center"><code>scope</code></td><td align="left" valign="center">

+        <p>Specify whether connections obtained through this resource

+        manager can be shared.  The value of this attribute must be

+        <code>Shareable</code> or <code>Unshareable</code>.  By default,

+        connections are assumed to be shareable.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="left" valign="center">

+        <p>The fully qualified Java class name expected by the web

+        application when it performs a lookup for this resource.</p>

+      </td></tr></table>

+

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Resource Links"><!--()--></a><a name="Resource_Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>

+    <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 

+    elements to link resources from the global context into 

+    per-web-application contexts. Here is an example of making a custom 

+    factory available to an application, based on the example definition in the 

+    <a href="../jndi-resources-howto.html#Generic JavaBean Resources">

+    JNDI Resource HOW-TO</a>:

+    </p>

+

+    <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+      

+        &lt;Context&gt;

+          &lt;ResourceLink 

+            name="bean/MyBeanFactory"

+            global="bean/MyBeanFactory"

+            type="com.mycompany.MyBean"

+          /&gt;

+        &lt;/Context&gt;

+      

+    </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+   </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can declare the characteristics of the UserTransaction

+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 

+    You <strong>MUST</strong> define an object factory class to instantiate

+    this object as well as the needed resource parameters as attributes of the 

+    <code>Transaction</code> 

+    element, and the properties used to configure that object factory.</p>

+

+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element

+    are as follows:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>factory</code></strong></td><td align="left" valign="center">

+        <p>The class name for the JNDI object factory.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/host.html b/tomcat-uid/webapps/docs/config/host.html
new file mode 100644
index 0000000..6a864a3
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/host.html
@@ -0,0 +1,563 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Host Container</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Remy Maucherat"><meta name="author" content="Yoav Shapira"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li><li><a href="#Access_Logs">Access Logs</a></li><li><a href="#Automatic_Application_Deployment">Automatic Application Deployment</a></li><li><a href="#Host_Name_Aliases">Host Name Aliases</a></li><li><a href="#Lifecycle_Listeners">Lifecycle Listeners</a></li><li><a href="#Request_Filters">Request Filters</a></li><li><a href="#Single_Sign_On">Single Sign On</a></li><li><a href="#User_Web_Applications">User Web Applications</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Host</strong> element represents a <em>virtual host</em>,

+  which is an association of a network name for a server (such as

+  "www.mycompany.com" with the particular server on which Catalina is

+  running.  In order to be effective, this name must be registered in the

+  <em>Domain Name Service</em> (DNS) server that manages the Internet

+  domain you belong to - contact your Network Administrator for more

+  information.</p>

+

+  <p>In many cases, System Administrators wish to associate more than

+  one network name (such as <code>www.mycompany.com</code> and

+  <code>company.com</code>) with the same virtual host and applications.

+  This can be accomplished using the <a href="#Host Name Aliases">Host

+  Name Aliases</a> feature discussed below.</p>

+

+  <p>One or more <strong>Host</strong> elements are nested inside an

+  <a href="engine.html">Engine</a> element.  Inside the Host element, you

+  can nest <a href="context.html">Context</a> elements for the web

+  applications associated with this virtual host.  Exactly one of the Hosts

+  associated with each Engine MUST have a name matching the

+  <code>defaultHost</code> attribute of that Engine.</p>

+

+    <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 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.</p>

+    </em></blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Host</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>appBase</code></strong></td><td align="left" valign="center">

+        <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, 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. If not specified, the default of

+        <code>webapps</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>autoDeploy</code></td><td align="left" valign="center">

+        <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>

+      </td></tr><tr><td align="left" valign="center"><code>backgroundProcessorDelay</code></td><td align="left" valign="center">

+        <p>This value represents the delay in seconds between the 

+        invocation of the backgroundProcess method on this host and 

+        its child containers, including all contexts. 

+        Child containers will not be invoked if their delay value is not 

+        negative (which would mean they are using their own processing 

+        thread). Setting this to a positive value will cause 

+        a thread to be spawn. After waiting the specified amount of time, 

+        the thread will invoke the backgroundProcess method on this host 

+        and all its child containers. A host will use background processing to

+        perform live web application deployment related tasks. If not 

+        specified, the default value for this attribute is -1, which means 

+        the host will rely on the background processing thread of its parent 

+        engine.</p>

+      </td></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Host</code> interface.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>deployIgnore</code></td><td align="left" valign="center">

+        <p>A regular expression defining paths to ignore when

+        <code>autoDeploy</code> and <code>deployOnStartup</code> are set. This

+        allows you to keep your configuration in a version control system, for

+        example, and not deploy a .svn or CVS folder that happens to be in the

+        <code>appBase</code>.</p>

+        <p>This regular expression is relative to <code>appBase</code>. It is

+        also <em>anchored</em>, meaning the match is performed against the

+        entire file/directory name. So, <code>foo</code> matches only a file or

+        directory named <code>foo</code> but not <code>foo.war</code>,

+        <code>foobar</code>, or <code>myfooapp</code>. To match anything with

+        "foo", you could use <code>.*foo.*</code>.</p>

+        <p>See <a href="#Automatic_Application_Deployment">Automatic Application

+        Deployment</a> for more information.</p>

+      </td></tr><tr><td align="left" valign="center"><code>deployOnStartup</code></td><td align="left" valign="center">

+        <p>This flag value indicates if web applications from this host should

+        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>

+      </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+        <p>Network name of this virtual host, as registered in your

+        <em>Domain Name Service</em> server. Regardless of the case used to

+        specify the hostname, Tomcat will convert it to lower case internally.

+        One of the Hosts nested within an <a href="engine.html">Engine</a> MUST

+        have a name that matches the <code>defaultHost</code> setting for that

+        Engine.  See <a href="#Host Name Aliases">Host Name Aliases</a> for

+        information on how to assign more than one network name to the same

+        virtual host.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The standard implementation of <strong>Host</strong> is

+    <strong>org.apache.catalina.core.StandardHost</strong>.

+    It supports the following additional attributes (in addition to the

+    common attributes listed above):</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>deployXML</code></td><td align="left" valign="center">

+        <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>

+      </td></tr><tr><td align="left" valign="center"><code>errorReportValveClass</code></td><td align="left" valign="center">

+        <p>Java class name of the error reporting valve which will be used

+        by this Host. The responsibility of this valve is to output error

+        reports. Setting this property allows to customize the look of the

+        error pages which will be generated by Tomcat. This class must

+        implement the

+        <code>org.apache.catalina.Valve</code> interface. If none is specified,

+        the value <code>org.apache.catalina.valves.ErrorReportValve</code>

+        will be used by default.</p>

+      </td></tr><tr><td align="left" valign="center"><code>unpackWARs</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want web applications that are

+        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. 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>

+      </td></tr><tr><td align="left" valign="center"><code>workDir</code></td><td align="left" valign="center">

+        <p>Pathname to a scratch directory to be used by applications for

+        this Host. Each application will have its own sub directory with

+        temporary read-write use.  Configuring a Context workDir will override

+        use of the Host workDir configuration.  This directory will be made

+        visible to servlets in the web application by a servlet context

+        attribute (of type <code>java.io.File</code>) named

+        <code>javax.servlet.context.tempdir</code> as described in the

+        Servlet Specification.  If not specified, a suitable directory

+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>You can nest one or more <a href="context.html">Context</a> elements

+  inside this <strong>Host</strong> element, each representing a different web

+  application associated with this virtual host.</p>

+

+  <p>You can nest at most one instance of the following utility components

+  by nesting a corresponding element inside your <strong>Host</strong>

+  element:</p>

+  <ul>

+  <li><a href="realm.html"><strong>Realm</strong></a> -

+      Configure a realm that will allow its

+      database of users, and their associated roles, to be shared across all

+      <a href="context.html">Contexts</a> nested inside this Host (unless

+      overridden by a <a href="realm.html">Realm</a> configuration

+      at a lower level).</li>

+  </ul>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>A host is associated with the 

+       <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>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Logs"><!--()--></a><a name="Access_Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>When you run a web server, one of the output files normally generated

+    is an <em>access log</em>, which generates one line of information for

+    each request processed by the server, in a standard format.  Catalina

+    includes an optional <a href="valve.html">Valve</a> implementation that

+    can create access logs in the same standard format created by web servers,

+    or in any number of custom formats.</p>

+

+    <p>You can ask Catalina to create an access log for all requests

+    processed by an <a href="engine.html">Engine</a>,

+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>

+    by nesting a <a href="valve.html">Valve</a> element like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"

+         prefix="localhost_access_log." suffix=".txt"

+         pattern="common"/&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>

+    for more information on the configuration attributes that are

+    supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Automatic Application Deployment"><!--()--></a><a name="Automatic_Application_Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>If you are using the standard <strong>Host</strong> implementation,

+    the following actions take place automatically when Catalina is first

+    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

+        <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

+        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>&lt;Context&gt;</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, does not have a corresponding directory of the same

+        name (without the ".war" extension), and is not excluded by

+        <code>deployIgnore</code> 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

+        and is not excluded by <code>deployIgnore</code> 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

+    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 

+    auto deployer will also track web applications for the following changes:

+    <ul>

+        <li>An update to the WEB-INF/web.xml file will trigger a reload of the

+          web application</li>

+        <li>Deleting a WAR file will trigger an undeploy of the application with

+          the removal of any associated expanded directory, context file and

+          work directory. Any current user sessions will not be persisted.</li>

+        <li>Deleting a directory will trigger an undeploy of the application

+          with the removal of any associated context file and work directory.

+          Any current user sessions will not be persisted. If there is an

+          associated WAR file, it will not be deleted and the application will

+          be redeployed from the WAR file the next time the auto deployer checks

+          for changes.</li>

+        <li>Deleting a context file will trigger an undeploy of the application

+          with the removal of any associated work directory. Any current user

+          sessions will not be persisted. If there is an associated WAR file

+          and/or directory, they will not be deleted and the application will be

+          redeployed from the WAR file (or from directory if there is no WAR

+          file) the next time the auto deployer checks for changes.</li>

+        <li>Updating a WAR file will trigger an undeploy of the application with

+          the removal of any associated expanded directory, context file and

+          work directory. Any current user sessions will not be persisted.</li>

+        <li>Updating a directory (not the directory contents) will trigger an

+          undeploy of the application with the removal of any associated context

+          file and work directory. Any current user sessions will not be

+          persisted. The application will be redeployed the next time the auto

+          deployer checks for changes.</li>

+        <li>Updating a context file will trigger an undeploy of the application

+          with the removal of any associated work directory. Any current user

+          sessions will not be persisted. The application will be redeployed the

+          next time the auto deployer checks for changes.</li>

+    </ul>

+    </p>

+

+    <p>When using automatic deployment, the <code>docBase</code> defined by

+    an XML <a href="context.html">Context</a> file should be outside of the

+    <code>appBase</code> directory. If this is not the case, difficulties

+    may be experienced deploying the web application or the application may

+    be deployed twice. The <code>deployIgnore</code> attribute can be used

+    to avoid this situation.</p>

+

+    <p>Finally, note that if you are defining contexts explicitly in server.xml,

+    you should probably turn off automatic application deployment or specify

+    <code>deployIgnore</code> carefully. Otherwise, the web applications

+    will each be deployed twice, and that may cause problems for the

+    applications.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Host Name Aliases"><!--()--></a><a name="Host_Name_Aliases"><strong>Host Name Aliases</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>In many server environments, Network Administrators have configured

+    more than one network name (in the <em>Domain Name Service</em> (DNS)

+    server), that resolve to the IP address of the same server.  Normally,

+    each such network name would be configured as a separate

+    <strong>Host</strong> element in <code>conf/server.xml</code>, each

+    with its own set of web applications.</p>

+

+    <p>However, in some circumstances, it is desirable that two or more

+    network names should resolve to the <strong>same</strong> virtual host,

+    running the same set of applications.  A common use case for this

+    scenario is a corporate web site, where it is desirable that users

+    be able to utilize either <code>www.mycompany.com</code> or

+    <code>company.com</code> to access exactly the same content and

+    applications.</p>

+

+    <p>This is accomplished by utilizing one or more <strong>Alias</strong>

+    elements nested inside your <strong>Host</strong> element.  For

+    example:</p>

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="www.mycompany.com" ...&gt;

+  ...

+  &lt;Alias&gt;mycompany.com&lt;/Alias&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>In order for this strategy to be effective, all of the network names

+    involved must be registered in your DNS server to resolve to the

+    same computer that is running this instance of Catalina.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Lifecycle Listeners"><!--()--></a><a name="Lifecycle_Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>If you have implemented a Java object that needs to know when this

+    <strong>Host</strong> is started or stopped, you can declare it by

+    nesting a <strong>Listener</strong> element inside this element.  The

+    class name you specify must implement the

+    <code>org.apache.catalina.LifecycleListener</code> interface, and

+    it will be notified about the occurrence of the corresponding

+    lifecycle events.  Configuration of such a listener looks like this:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>Note that a Listener can have any number of additional properties

+    that may be configured from this element.  Attribute names are matched

+    to corresponding JavaBean property names using the standard property

+    method naming patterns.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Filters"><!--()--></a><a name="Request_Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>You can ask Catalina to check the IP address, or host name, on every

+    incoming request directed to the surrounding

+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+    <a href="context.html">Context</a> element.  The remote address or name

+    will be checked against a configured list of "accept" and/or "deny"

+    filters, which are defined using <code>java.util.regex</code> Regular

+    Expression syntax.  Requests that come from locations that are

+    not accepted will be rejected with an HTTP "Forbidden" error.

+    Example filter declarations:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"

+         allow=".*\.mycompany\.com|www\.yourcompany\.com"/&gt;

+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"

+         deny="192\.168\.1\.\d+"/&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>

+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for

+  more information about the configuration options that are supported.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Single Sign On"><!--()--></a><a name="Single_Sign_On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>In many environments, but particularly in portal environments, it

+    is desireable to have a user challenged to authenticate themselves only

+    once over a set of web applications deployed on a particular virtual

+    host.  This can be accomplished by nesting an element like this inside

+    the Host element for this virtual host:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Valve className="org.apache.catalina.authenticator.SingleSignOn"/&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>The Single Sign On facility operates according to the following rules:

+    </p>

+    <ul>

+    <li>All web applications configured for this virtual host must share the

+        same <a href="realm.html">Realm</a>.  In practice, that means you can

+        nest the Realm element inside this Host element (or the surrounding

+        <a href="engine.html">Engine</a> element), but not inside a

+        <a href="context.html">Context</a> element for one of the involved

+        web applications.</li>

+    <li>As long as the user accesses only unprotected resources in any of the

+        web applications on this virtual host, they will not be challenged

+        to authenticate themselves.</li>

+    <li>As soon as the user accesses a protected resource in

+        <strong>any</strong> web application associated with this virtual

+        host, the user will be challenged to authenticate himself or herself,

+        using the login method defined for the web application currently

+        being accessed.</li>

+    <li>Once authenticated, the roles associated with this user will be

+        utilized for access control decisions across <strong>all</strong>

+        of the associated web applications, without challenging the user

+        to authenticate themselves to each application individually.</li>

+    <li>As soon as the user logs out of one web application (for example,

+        by invalidating the corresponding session if form

+        based login is used), the user's sessions in <strong>all</strong>

+        web applications will be invalidated.  Any subsequent attempt to

+        access a protected resource in any application will require the

+        user to authenticate himself or herself again.</li>

+    <li>The Single Sign On feature utilizes HTTP cookies to transmit a token

+        that associates each request with the saved user identity, so it can

+        only be utilized in client environments that support cookies.</li>

+    </ul>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="User Web Applications"><!--()--></a><a name="User_Web_Applications"><strong>User Web Applications</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Many web servers can automatically map a request URI starting with

+    a tilde character ("~") and a username to a directory (commonly named

+    <code>public_html</code>) in that user's home directory on the server.

+    You can accomplish the same thing in Catalina by using a special

+    <strong>Listener</strong> element like this (on a Unix system that

+    uses the <code>/etc/passwd</code> file to identify valid users):</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Listener className="org.apache.catalina.startup.UserConfig"

+            directoryName="public_html"

+            userClass="org.apache.catalina.startup.PasswdUserDatabase"/&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>On a server where <code>/etc/passwd</code> is not in use, you can

+    request Catalina to consider all directories found in a specified base

+    directory (such as <code>c:\Homes</code> in this example) to be

+    considered "user home" directories for the purposes of this directive:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Host name="localhost" ...&gt;

+  ...

+  &lt;Listener className="org.apache.catalina.startup.UserConfig"

+            directoryName="public_html"

+            homeBase=c:\Homes"

+            userClass="org.apache.catalina.startup.HomesUserDatabase"/&gt;

+  ...

+&lt;/Host&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>If a user home directory has been set up for a user named

+    <code>craigmcc</code>, then its contents will be visible from a

+    client browser by making a request to a URL like:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+http://www.mycompany.com:8080/~craigmcc

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+    <p>Successful use of this feature requires recognition of the following

+    considerations:</p>

+    <ul>

+    <li>Each user web application will be deployed with characteristics

+        established by the global and host level default context settings.</li>

+    <li>It is legal to include more than one instance of this Listener

+        element.  This would only be useful, however, in circumstances

+        where you wanted to configure more than one "homeBase" directory.</li>

+    <li>The operating system username under which Catalina is executed

+        MUST have read access to each user's web application directory,

+        and all of its contents.</li>

+    </ul>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/http.html b/tomcat-uid/webapps/docs/config/http.html
new file mode 100644
index 0000000..c5b88c0
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/http.html
@@ -0,0 +1,715 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The HTTP Connector</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Yoav Shapira"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The HTTP Connector</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li><li><a href="#Nio_Implementation">Nio Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#HTTP/1.1_and_HTTP/1.0_Support">HTTP/1.1 and HTTP/1.0 Support</a></li><li><a href="#Proxy_Support">Proxy Support</a></li><li><a href="#SSL_Support">SSL Support</a></li><li><a href="#Connector_Comparison">Connector Comparison</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>HTTP Connector</strong> element represents a

+  <strong>Connector</strong> component that supports the HTTP/1.1 protocol.

+  It enables Catalina to function as a stand-alone web server, in addition

+  to its ability to execute servlets and JSP pages.  A particular instance

+  of this component listens for connections on a specific TCP port number

+  on the server.  One or more such <strong>Connectors</strong> can be

+  configured as part of a single <a href="service.html">Service</a>, each

+  forwarding to the associated <a href="engine.html">Engine</a> to perform

+  request processing and create the response.</p>

+

+  <p>If you wish to configure the <strong>Connector</strong> that is used

+  for connections to web servers using the AJP protocol (such as the

+  <code>mod_jk 1.2.x</code> connector for Apache 1.3), see

+  <a href="ajp.html">here</a> instead.</p>

+

+  <p>Each incoming request requires

+  a thread for the duration of that request.  If more simultaneous requests

+  are received than can be handled by the currently available request

+  processing threads, additional threads will be created up to the

+  configured maximum (the value of the <code>maxThreads</code> attribute).

+  If still more simultaneous requests are received, they are stacked up

+  inside the server socket created by the <strong>Connector</strong>, up to

+  the configured maximum (the value of the <code>acceptCount</code>

+  attribute).  Any further simultaneous requests will receive "connection

+  refused" errors, until resources are available to process them.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>All implementations of <strong>Connector</strong>

+  support the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allowTrace</code></td><td align="left" valign="center">

+      <p>A boolean value which can be used to enable or disable the TRACE

+      HTTP method. If not specified, this attribute is set to false.</p>

+    </td></tr><tr><td align="left" valign="center"><code>emptySessionPath</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, all paths for session cookies will be set

+      to <code>/</code>. This can be useful for portlet specification implementations.

+      If not specified, this attribute is set to <code>false</code>.<br>

+      A side effect to setting this to true, is that if Tomcat creates a new session it will attempt to use the 

+      cookie session id if supplied by the client.<br>

+      <a href="http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java?diff_format=h&view=log#rev303682">SVN check in</a><br>

+      <a href="http://tomcat.markmail.org/search/?q=emptysessionpath%20reuse#query:emptysessionpath%20reuse%20date%3A200502%20+page:1+mid:2bocwjhn3cczsoii+state:results">Dev discussion</a><br>

+      <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=47298">Work around</a>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>enableLookups</code></td><td align="left" valign="center">

+      <p>Set to <code>true</code> if you want calls to

+      <code>request.getRemoteHost()</code> to perform DNS lookups in

+      order to return the actual host name of the remote client.  Set

+      to <code>false</code> to skip the DNS lookup and return the IP

+      address in String form instead (thereby improving performance).

+      By default, DNS lookups are disabled.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxHeaderCount</code></td><td align="left" valign="center">

+      <p>The maximum number of headers in a request that are allowed by the

+      container. A request that contains more headers than the specified limit

+      will be rejected. A value of less than 0 means no limit.

+      If not specified, a default of 100 is used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxParameterCount</code></td><td align="left" valign="center">

+      <p>The maximum number of parameters (GET plus POST) which will be

+      automatically parsed by the container. A value of less than 0 means no

+      limit. If not specified, a default of 10000 is used. Note that

+      <code>FailedRequestFilter</code> <a href="filter.html">filter</a> can be

+      used to reject requests that hit the limit.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxPostSize</code></td><td align="left" valign="center">

+      <p>The maximum size in bytes of the POST which will be handled by

+      the container FORM URL parameter parsing. The limit can be disabled by

+      setting this attribute to a value less than or equal to 0.

+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxSavePostSize</code></td><td align="left" valign="center">

+      <p>The maximum size in bytes of the POST which will be saved/buffered by

+      the container during FORM or CLIENT-CERT authentication. For both types

+      of authentication, the POST will be saved/buffered before the user is

+      authenticated. For CLIENT-CERT authentication, the POST is buffered for

+      the duration of the SSL handshake and the buffer emptied when the request

+      is processed. For FORM authentication the POST is saved whilst the user

+      is re-directed to the login form and is retained until the user

+      successfully authenticates or the session associated with the

+      authentication request expires. The limit can be disabled by setting this

+      attribute to -1. Setting the attribute to zero will disable the saving of

+      POST data during authentication. If not specified, this attribute is set

+      to 4096 (4 kilobytes).</p>

+    </td></tr><tr><td align="left" valign="center"><code>parseBodyMethods</code></td><td align="left" valign="center">

+      <p>A comma-separated list of HTTP methods for which request

+      bodies will be parsed for request parameters identically

+      to POST. This is useful in RESTful applications that want to

+      support POST-style semantics for PUT requests.

+      Note that any setting other than <code>POST</code> causes Tomcat

+      to behave in a way that does against the intent of the servlet

+      specification.

+      The HTTP method TRACE is specifically forbidden here in accordance

+      with the HTTP specification.

+      The default is <code>POST</code></p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+      <p>The TCP port number on which this <strong>Connector</strong>

+      will create a server socket and await incoming connections.  Your

+      operating system will allow only one server application to listen

+      to a particular port number on a particular IP address.</p>

+    </td></tr><tr><td align="left" valign="center"><code>protocol</code></td><td align="left" valign="center">

+      <p>

+        Sets the protocol to handle incoming traffic.

+        The default value is <code>HTTP/1.1</code> and configures the 

+        <code>org.apache.coyote.http11.Http11Protocol</code>. This is the blocking Java connector.<br>

+        If the <code>PATH</code> (Windows) or <code>LD_LIBRARY_PATH</code> (on most unix systems)

+        environment variables contain the Tomcat native library, the APR connector

+        will automatically be configured. Please be advised that the APR connector has different

+        settings for HTTPS than the default Java connector.<br>

+        Other values for this attribute are, but not limited to:<br>

+        <code>org.apache.coyote.http11.Http11Protocol</code> - same as HTTP/1.1<br>

+        <code>org.apache.coyote.http11.Http11NioProtocol</code> - non blocking Java connector<br>

+        <code>org.apache.coyote.http11.Http11AprProtocol</code> - the APR connector.<br>

+        Take a look at our <a href="#Connector Comparison">Connector Comparison</a> chart.

+        The configuration for both Java connectors are identical, both for http and https. <br>

+        For more information on the APR connector and APR specific SSL settings please 

+        visit the <a href="../apr.html">APR documentation</a>

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>proxyName</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is being used in a proxy

+      configuration, configure this attribute to specify the server name

+      to be returned for calls to <code>request.getServerName()</code>.

+      See <a href="#Proxy Support">Proxy Support</a> for more

+      information.</p>

+    </td></tr><tr><td align="left" valign="center"><code>proxyPort</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is being used in a proxy

+      configuration, configure this attribute to specify the server port

+      to be returned for calls to <code>request.getServerPort()</code>.

+      See <a href="#Proxy Support">Proxy Support</a> for more

+      information.</p>

+    </td></tr><tr><td align="left" valign="center"><code>redirectPort</code></td><td align="left" valign="center">

+      <p>If this <strong>Connector</strong> is supporting non-SSL

+      requests, and a request is received for which a matching

+      <code>&lt;security-constraint&gt;</code> requires SSL transport,

+      Catalina will automatically redirect the request to the port

+      number specified here.</p>

+    </td></tr><tr><td align="left" valign="center"><code>SSLEnabled</code></td><td align="left" valign="center">

+      <p>

+      Use this attribute to enable SSL traffic on a connector.

+      To turn on SSL handshake/encryption/decryption on a connector

+      set this value to <code>true</code>.

+      The default value is <code>false</code>.

+      When turning this value <code>true</code> you will want to set the 

+      <code>scheme</code> and the <code>secure</code> attributes as well

+      to pass the correct <code>request.getScheme()</code> and 

+      <code>request.isSecure()</code> values to the servlets

+      See <a href="#SSL Support">SSL Support</a> for more information.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>scheme</code></td><td align="left" valign="center">

+      <p>Set this attribute to the name of the protocol you wish to have

+      returned by calls to <code>request.getScheme()</code>.  For

+      example, you would set this attribute to "<code>https</code>"

+      for an SSL Connector.  The default value is "<code>http</code>".

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>secure</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> if you wish to have

+      calls to <code>request.isSecure()</code> to return <code>true</code>

+      for requests received by this Connector. You would want this on an

+      SSL Connector or a non SSL connector that is receiving data from a 

+      SSL accelerator, like a crypto card, a SSL appliance or even a webserver.

+      The default value is <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>URIEncoding</code></td><td align="left" valign="center">

+      <p>This specifies the character encoding used to decode the URI bytes,

+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>useBodyEncodingForURI</code></td><td align="left" valign="center">

+      <p>This specifies if the encoding specified in contentType should be used

+      for URI query parameters, instead of using the URIEncoding. This

+      setting is present for compatibility with Tomcat 4.1.x, where the

+      encoding specified in the contentType, or explicitly set using

+      Request.setCharacterEncoding method was also used for the parameters from

+      the URL. The default value is <code>false</code>.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>useIPVHosts</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> to cause Tomcat to use

+      the IP address that the request was received on to determine the Host

+      to send the request to.  The default value is <code>false</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>xpoweredBy</code></td><td align="left" valign="center">

+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise

+      support for the Servlet specification using the header recommended in the

+      specification.  The default value is <code>false</code>.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>

+  HTTP supports the following additional attributes (in addition to the

+  common attributes listed above):</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>acceptCount</code></td><td align="left" valign="center">

+      <p>The maximum queue length for incoming connection requests when

+      all possible request processing threads are in use.  Any requests

+      received when the queue is full will be refused.  The default

+      value is 100.</p>

+    </td></tr><tr><td align="left" valign="center"><code>address</code></td><td align="left" valign="center">

+      <p>For servers with more than one IP address, this attribute

+      specifies which address will be used for listening on the specified

+      port.  By default, this port will be used on all IP addresses

+      associated with the server.</p>

+    </td></tr><tr><td align="left" valign="center"><code>bufferSize</code></td><td align="left" valign="center">

+      <p>The size (in bytes) of the buffer to be provided for input

+      streams created by this connector.  By default, buffers of

+      2048 bytes will be provided.</p>

+    </td></tr><tr><td align="left" valign="center"><code>compressableMimeType</code></td><td align="left" valign="center">

+      <p>The value is a comma separated list of MIME types for which HTTP

+      compression may be used.

+      The default value is <code>text/html,text/xml,text/plain</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>compression</code></td><td align="left" valign="center">

+      <p>The <strong>Connector</strong> may use HTTP/1.1 GZIP compression in

+      an attempt to save server bandwidth. The acceptable values for the

+      parameter is "off" (disable compression), "on" (allow compression, which

+      causes text data to be compressed), "force" (forces compression in all

+      cases), or a numerical integer value (which is equivalent to "on", but

+      specifies the minimum amount of data before the output is compressed). If

+      the content-length is not known and compression is set to "on" or more

+      aggressive, the output will also be compressed. If not specified, this

+      attribute is set to "off".</p>

+      <p><em>Note</em>: There is a tradeoff between using compression (saving

+      your bandwidth) and using the sendfile feature (saving your CPU cycles).

+      If the connector supports the sendfile feature, e.g. the NIO connector,

+      using sendfile will take precedence over compression. The symptoms will

+      be that static files greater that 48 Kb will be sent uncompressed.

+      You can turn off sendfile by setting <code>useSendfile</code> attribute

+      of the connector, as documented below, or change the sendfile usage

+      threshold in the configuration of the

+      <a href="../default-servlet.html">DefaultServlet</a> in the default

+      <code>conf/web.xml</code> or in the <code>web.xml</code> of your web

+      application.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>connectionLinger</code></td><td align="left" valign="center">

+      <p>The number of seconds during which the sockets used by this

+      <strong>Connector</strong> will linger when they are closed. Setting this

+      attribute to <code>-1</code> will disable connection linger. The default

+      value for the BIO and AJP connectors is 100. The default value for the NIO

+      connection is 25.</p>

+    </td></tr><tr><td align="left" valign="center"><code>connectionTimeout</code></td><td align="left" valign="center">

+      <p>The number of milliseconds this <strong>Connector</strong> will wait,

+      after accepting a connection, for the request URI line to be

+      presented.  The default value is 60000 (i.e. 60 seconds).</p>

+    </td></tr><tr><td align="left" valign="center"><code>executor</code></td><td align="left" valign="center">

+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.

+         If this attribute is enabled, and the named executor exists, the connector will

+         use the executor, and all the other thread attributes will be ignored.</p>

+    </td></tr><tr><td align="left" valign="center"><code>keepAliveTimeout</code></td><td align="left" valign="center">

+      <p>The number of milliseconds this <strong>Connector</strong> will wait for

+       another HTTP request before closing the connection.

+       The default value is to use the value that has been set for the

+       connectionTimeout attribute.</p>

+    </td></tr><tr><td align="left" valign="center"><code>disableUploadTimeout</code></td><td align="left" valign="center">

+      <p>This flag allows the servlet container to use a different, longer

+      connection timeout while a servlet is being executed, which in the end

+      allows either the servlet a longer amount of time to complete its

+      execution, or a longer timeout during data upload. If not specified,

+      this attribute is set to "true".</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxHttpHeaderSize</code></td><td align="left" valign="center">

+      <p>The maximum size of the request and response HTTP header, specified

+      in bytes.

+      If not specified, this attribute is set to 8192 (8 KB).</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxKeepAliveRequests</code></td><td align="left" valign="center">

+      <p>The maximum number of HTTP requests which can be pipelined until

+      the connection is closed by the server. Setting this attribute to 1 will

+      disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and

+      pipelining. Setting this to -1 will allow an unlimited amount of

+      pipelined or keep-alive HTTP requests.

+      If not specified, this attribute is set to 100.</p>

+    </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">

+      <p>The maximum number of request processing threads to be created

+      by this <strong>Connector</strong>, which therefore determines the

+      maximum number of simultaneous requests that can be handled.  If

+      not specified, this attribute is set to 200. If an executor is associated

+      with this connector, this attribute is ignored as the connector will 

+      execute tasks using the executor rather than an internal thread pool.</p>

+    </td></tr><tr><td align="left" valign="center"><code>noCompressionUserAgents</code></td><td align="left" valign="center">

+      <p>The value is a comma separated list of regular expressions matching

+      user-agents of HTTP clients for which compression should not be used,

+      because these clients, although they do advertise support for the

+      feature, have a broken implementation.

+      The default value is an empty String (regexp matching disabled).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+      <p>The TCP port number on which this <strong>Connector</strong>

+      will create a server socket and await incoming connections.  Your

+      operating system will allow only one server application to listen

+      to a particular port number on a particular IP address.</p>

+    </td></tr><tr><td align="left" valign="center"><code>restrictedUserAgents</code></td><td align="left" valign="center">

+      <p>The value is a comma separated list of regular expressions matching

+      user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive

+      should not be used, even if the clients advertise support for these

+      features.

+      The default value is an empty String (regexp matching disabled).</p>

+    </td></tr><tr><td align="left" valign="center"><code>server</code></td><td align="left" valign="center">

+      <p>Overrides the Server header for the http response. If set, the value

+      for this attribute overrides the Tomcat default and any Server header set

+      by a web application. If not set, any value specified by the application

+      is used. If the application does not specify a value then

+      <code>Apache-Coyote/1.1</code> is used. Unless you are paranoid, you won't

+      need this feature.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>socketBuffer</code></td><td align="left" valign="center">

+      <p>The size (in bytes) of the buffer to be provided for socket

+      output buffering. -1 can be specified to disable the use of a buffer.

+      By default, a buffers of 9000 bytes will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tcpNoDelay</code></td><td align="left" valign="center">

+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be

+      set on the server socket, which improves performance under most

+      circumstances.  This is set to <code>true</code> by default.</p>

+    </td></tr><tr><td align="left" valign="center"><code>threadPriority</code></td><td align="left" valign="center">

+      <p>The priority of the request processing threads within the JVM.

+      The default value is <code>5</code> (the value of the

+      <code>java.lang.Thread.NORM_PRIORITY</code> constant). See the JavaDoc

+      for the <code>java.lang.Thread</code> class for more details on what

+      this priority means.

+      </p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+  

+    <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nio Implementation"><!--()--></a><a name="Nio_Implementation"><strong>Nio Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The NIO connector exposes all the low level socket properties that can be used to tune the connector.

+    Most of these attributes are directly linked to the socket implementation in the JDK so you can find out 

+    about the actual meaning in the JDK API documentation.<br>

+    <strong>Note:</strong> On some JDK versions, setTrafficClass causes a problem, a work around for this is to add 

+    the <code>-Djava.net.preferIPv4Stack=true</code> value to your command line</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>useSendfile</code></td><td align="left" valign="center">

+        <p>(bool)Use this attribute to enable or disable sendfile capability.

+           The default value is <code>true</code>

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>useExecutor</code></td><td align="left" valign="center">

+        <p>(bool)Set to true to use the NIO thread pool executor. The default value is <code>true</code>.

+        If set to false, it uses a thread pool based on a stack for its execution.

+        Generally, using the executor yields a little bit slower performance, but yields a better

+        fairness for processing connections in a high load environment as the traffic gets queued through a 

+        FIFO queue. If set to true(default) then the max pool size is the <code>maxThreads</code> attribute

+        and the core pool size is the <code>minSpareThreads</code>.

+        This value is ignored if the <code>executor</code> attribute is present and points to a valid shared thread pool.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>executor</code></td><td align="left" valign="center">

+        <p>A reference to the name in an <a href="executor.html">Executor</a> element.

+           If this attribute is enabled, and the named executor exists, the connector will

+           use the executor, and all the other thread attributes will be ignored.</p>

+      </td></tr><tr><td align="left" valign="center"><code>acceptorThreadCount</code></td><td align="left" valign="center">

+        <p>(int)The number of threads to be used to accept connections. Increase this value on a multi CPU machine,

+        although you would never really need more than <code>2</code>. Also, with a lot of non keep alive connections,

+        you might want to increase this value as well. Default value is <code>1</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>pollerThreadCount</code></td><td align="left" valign="center">

+        <p>(int)The number of threads to be used to run for the polling events.

+        Default value is <code>1</code> per processor. Can't see a reason to go

+        above that. But experiment and find your own results.</p>

+      </td></tr><tr><td align="left" valign="center"><code>pollerThreadPriority</code></td><td align="left" valign="center">

+        <p>(int)The priority of the poller threads.

+        The default value is <code>5</code> (the value of the

+        <code>java.lang.Thread.NORM_PRIORITY</code> constant). See the JavaDoc

+        for the <code>java.lang.Thread</code> class for more details on what

+        this priority means.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>acceptorThreadPriority</code></td><td align="left" valign="center">

+        <p>(int)The priority of the acceptor threads. The threads used to accept new connections.

+        The default value is <code>5</code> (the value of the

+        <code>java.lang.Thread.NORM_PRIORITY</code> constant). See the JavaDoc

+        for the <code>java.lang.Thread</code> class for more details on what

+        this priority means.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>selectorTimeout</code></td><td align="left" valign="center">

+        <p>(int)The time in milliseconds to timeout on a select() for the poller.

+           This value is important, since connection clean up is done on the same thread, so do not set this 

+           value to an extremely high one. The default value is <code>1000</code> milliseconds.</p>

+      </td></tr><tr><td align="left" valign="center"><code>useComet</code></td><td align="left" valign="center">

+        <p>(bool)Whether to allow comet servlets or not, Default value is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>processorCache</code></td><td align="left" valign="center">

+        <p>(int)The protocol handler caches Http11NioProcessor objects to speed up performance.

+           This setting dictates how many of these objects get cached.

+           <code>-1</code> means unlimited, default is <code>200</code>. Set this value somewhere close to your maxThreads value.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>maxKeepAliveRequests</code></td><td align="left" valign="center">

+        <p>The maximum number of HTTP requests which can be pipelined until

+        the connection is closed by the server. Setting this attribute to 1 will

+        disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and

+        pipelining. Setting this to -1 will allow an unlimited amount of

+        pipelined or keep-alive HTTP requests.

+        If not specified, this attribute is set to 100.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.directBuffer</code></td><td align="left" valign="center">

+        <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped ByteBuffers. Default is <code>false</code>

+           <br>When you are using direct buffers, make sure you allocate the appropriate amount of memory for the 

+                direct memory space. On Sun's JDK that would be something like <code>-XX:MaxDirectMemorySize=256m</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.rxBufSize</code></td><td align="left" valign="center">

+        <p>(int)The socket receive buffer (SO_RCVBUF) size in bytes. Default value is <code>25188</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.txBufSize</code></td><td align="left" valign="center">

+        <p>(int)The socket send buffer (SO_SNDBUF) size in bytes. Default value is <code>43800</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.appReadBufSize</code></td><td align="left" valign="center">

+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer

+           This attribute controls the size of these buffers. By default this read buffer is sized at <code>8192</code> bytes.

+           For lower concurrency, you can increase this to buffer more data.

+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.appWriteBufSize</code></td><td align="left" valign="center">

+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer

+           This attribute controls the size of these buffers. By default this write buffer is sized at <code>8192</code> bytes.

+           For low concurrency you can increase this to buffer more response data.

+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.

+           <br>

+           The default value here is pretty low, you should up it if you are not dealing with tens of thousands

+           concurrent connections.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.bufferPool</code></td><td align="left" valign="center">

+        <p>(int)The Nio connector uses a class called NioChannel that holds elements linked to a socket.

+           To reduce garbage collection, the Nio connector caches these channel objects.

+           This value specifies the size of this cache.

+           The default value is <code>500</code>, and represents that the cache will hold 500 NioChannel objects.

+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.bufferPoolSize</code></td><td align="left" valign="center">

+        <p>(int)The NioChannel pool can also be size based, not used object based. The size is calculated as follows:<br>

+        NioChannel <code>buffer size = read buffer size + write buffer size</code><br>

+        SecureNioChannel <code>buffer size = application read buffer size + application write buffer size + network read buffer size + network write buffer size</code><br>

+        The value is in bytes, the default value is <code>1024*1024*100</code> (100MB)

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.processorCache</code></td><td align="left" valign="center">

+        <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage collection.

+           The integer value specifies how many objects to keep in the cache at most.

+           The default is <code>500</code>.

+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.keyCache</code></td><td align="left" valign="center">

+        <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage collection.

+           The integer value specifies how many objects to keep in the cache at most.

+           The default is <code>500</code>.

+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.eventCache</code></td><td align="left" valign="center">

+        <p>(int)Tomcat will cache PollerEvent objects to reduce garbage collection.

+           The integer value specifies how many objects to keep in the cache at most.

+           The default is <code>500</code>.

+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.tcpNoDelay</code></td><td align="left" valign="center">

+        <p>(bool)same as the standard setting <code>tcpNoDelay</code>. Default value is <code>false</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soKeepAlive</code></td><td align="left" valign="center">

+        <p>(bool)Boolean value for the socket's keep alive setting (SO_KEEPALIVE). Default is <code>false</code>. </p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.ooBInline</code></td><td align="left" valign="center">

+        <p>(bool)Boolean value for the socket OOBINLINE setting. Default value is <code>true</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soReuseAddress</code></td><td align="left" valign="center">

+        <p>(bool)Boolean value for the sockets reuse address option (SO_REUSEADDR). Default value is <code>true</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soLingerOn</code></td><td align="left" valign="center">

+        <p>(bool)Boolean value for the sockets so linger option (SO_LINGER). Default value is <code>true</code>.

+           This option is paired with the <code>soLingerTime</code> value.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soLingerTime</code></td><td align="left" valign="center">

+        <p>(bool)Value in seconds for the sockets so linger option (SO_LINGER). Default value is <code>25</code> seconds.

+           This option is paired with the soLinger value.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soTimeout</code></td><td align="left" valign="center">

+        <p>(int)Value in milliseconds for the sockets read timeout (SO_TIMEOUT). Default value is <code>5000</code> milliseconds.</p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.soTrafficClass</code></td><td align="left" valign="center">

+        <p>(byte)Value between <code>0</code> and <code>255</code> for the traffic class on the socket, <code>0x04 | 0x08 | 0x010</code></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.performanceConnectionTime</code></td><td align="left" valign="center">

+        <p>(int)The first value for the performance settings. Default is <code>1</code>, see <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.performanceLatency</code></td><td align="left" valign="center">

+        <p>(int)The second value for the performance settings. Default is <code>0</code>, see <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.performanceBandwidth</code></td><td align="left" valign="center">

+        <p>(int)The third value for the performance settings. Default is <code>1</code>, see <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>

+      </td></tr><tr><td align="left" valign="center"><code>selectorPool.maxSelectors</code></td><td align="left" valign="center">

+        <p>(int)The max selectors to be used in the pool, to reduce selector contention.

+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.

+        Default value is <code>200</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>selectorPool.maxSpareSelectors</code></td><td align="left" valign="center">

+        <p>(int)The max spare selectors to be used in the pool, to reduce selector contention.

+        When a selector is returned to the pool, the system can decide to keep it or let it be GC:ed.

+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.

+        Default value is <code>-1</code> (unlimited)</p>

+      </td></tr><tr><td align="left" valign="center"><code>command-line-options</code></td><td align="left" valign="center">

+        <p>The following command line options are available for the NIO connector:<br>

+        <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code>

+        - default is <code>true</code>. Set this value to <code>false</code> if you wish to

+        use a selector for each thread. When you set it to <code>false</code>, you can

+        control the size of the pool of selectors by using the 

+        <strong>selectorPool.maxSelectors</strong> attribute</p>

+      </td></tr><tr><td align="left" valign="center"><code>oomParachute</code></td><td align="left" valign="center">

+        <p>(int)The NIO connector implements an OutOfMemoryError strategy called parachute.

+           It holds a chunk of data as a byte array. In case of an OOM,

+           this chunk of data is released and the error is reported. This will give the VM enough room

+           to clean up. The <code>oomParachute</code> represent the size in bytes of the parachute(the byte array).

+           The default value is <code>1024*1024</code>(1MB).

+           Please note, this only works for OOM errors regarding the Java Heap space, and there is absolutely no 

+           guarantee that you will be able to recover at all.

+           If you have an OOM outside of the Java Heap, then this parachute trick will not help.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>socket.unlockTimeout</code></td><td align="left" valign="center">

+        <p>(int) The timeout for a socket unlock. When a connector is stopped, it will try to release the acceptor thread by opening a connector to itself.

+           The default value is <code>250</code> and the value is in milliseconds</p>

+      </td></tr></table>

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>None at this time.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="HTTP/1.1 and HTTP/1.0 Support"><!--()--></a><a name="HTTP/1.1_and_HTTP/1.0_Support"><strong>HTTP/1.1 and HTTP/1.0 Support</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>This <strong>Connector</strong> supports all of the required features

+  of the HTTP/1.1 protocol, as described in RFC 2616, including persistent

+  connections, pipelining, expectations and chunked encoding.  If the client

+  (typically a browser) supports only HTTP/1.0, the

+  <strong>Connector</strong> will gracefully fall back to supporting this

+  protocol as well.  No special configuration is required to enable this

+  support. The <strong>Connector</strong> also supports HTTP/1.0

+  keep-alive.</p>

+

+  <p>RFC 2616 requires that HTTP servers always begin their responses with

+  the highest HTTP version that they claim to support.  Therefore, this

+  <strong>Connector</strong> will always return <code>HTTP/1.1</code> at

+  the beginning of its responses.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Proxy Support"><!--()--></a><a name="Proxy_Support"><strong>Proxy Support</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can

+  be used when Tomcat is run behind a proxy server.  These attributes

+  modify the values returned to web applications that call the

+  <code>request.getServerName()</code> and <code>request.getServerPort()</code>

+  methods, which are often used to construct absolute URLs for redirects.

+  Without configuring these attributes, the values returned would reflect

+  the server name and port on which the connection from the proxy server

+  was received, rather than the server name and port to whom the client

+  directed the original request.</p>

+

+  <p>For more information, see the

+  <a href="../proxy-howto.html">Proxy Support HOW-TO</a>.</p>

+

+  </blockquote></td></tr></table>

+

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="SSL Support"><!--()--></a><a name="SSL_Support"><strong>SSL Support</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>You can enable SSL support for a particular instance of this

+  <strong>Connector</strong> by setting the <code>SSLEnabled</code> attribute to

+  <code>true</code>.</p>

+

+  <p>You will also need to set the <code>scheme</code> and <code>secure</code> attributes

+  to the values <code>https</code> and <code>true</code> respectively,

+  to pass correct information to the servlets.</p>

+

+  <p>In addition, you may need to configure the following

+  attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>algorithm</code></td><td align="left" valign="center">

+      <p>The certificate encoding algorithm to be used. This defaults to

+      <code>KeyManagerFactory.getDefaultAlgorithm()</code> which returns

+      <code>SunX509</code> for Sun JVMs. IBM JVMs return

+      <code>IbmX509</code>. For other vendors, consult the JVM

+      documentation for the default value.</p>

+    </td></tr><tr><td align="left" valign="center"><code>clientAuth</code></td><td align="left" valign="center">

+      <p>Set to <code>true</code> if you want the SSL stack to require a

+      valid certificate chain from the client before accepting a connection.

+      Set to <code>want</code> if you want the SSL stack to request a client

+      Certificate, but not fail if one isn't presented. A <code>false</code>

+      value (which is the default) will not require a certificate chain

+      unless the client requests a resource protected by a security

+      constraint that uses <code>CLIENT-CERT</code> authentication. See the

+      <a href="../ssl-howto.html">SSL HowTo</a> for an example.</p>

+    </td></tr><tr><td align="left" valign="center"><code>clientCertProvider</code></td><td align="left" valign="center">

+      <p>When client certificate information is presented in a form other than

+      instances of <code>java.security.cert.X509Certificate</code> it needs to

+      be converted before it can be used and this property controls which JSSE

+      provider is used to perform the conversion. For example it is used with

+      the <a href="ajp.html">AJP connectors</a>, the HTTP APR connector and

+      with the <a href="valve.html#SSL_Authenticator_Valve">

+      org.apache.catalina.valves.SSLValve</a>. If not specified, the default

+      provider will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>keystoreFile</code></td><td align="left" valign="center">

+      <p>The pathname of the keystore file where you have stored the

+      server certificate to be loaded.  By default, the pathname is

+      the file "<code>.keystore</code>" in the operating system home

+      directory of the user that is running Tomcat. If your

+      <code>keystoreType</code> doesn't need a file use <code>""</code>

+      (empty string) for this parameter.</p>

+    </td></tr><tr><td align="left" valign="center"><code>keystorePass</code></td><td align="left" valign="center">

+      <p>The password used to access the server certificate from the

+      specified keystore file.  The default value is "<code>changeit</code>".

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>keystoreType</code></td><td align="left" valign="center">

+      <p>The type of keystore file to be used for the server certificate.

+      If not specified, the default value is "<code>JKS</code>".</p>

+    </td></tr><tr><td align="left" valign="center"><code>keystoreProvider</code></td><td align="left" valign="center">

+      <p>The name of the keystore provider to be used for the server

+      certificate. If not specified, the list of registered providers is

+      traversed in preference order and the first provider that supports the

+      <code>keystoreType</code> is used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>sslProtocol</code></td><td align="left" valign="center">

+      <p>The the SSL protocol(s) to use (a single value may enable multiple

+      protocols - see the JVM documentation for details). If not specified, the

+      default is <code>TLS</code>. The permitted values may be obtained from the

+      JVM documentation for the allowed values for algorithm when creating an

+      <code>SSLContext</code> instance e.g.

+      <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#SSLContext">

+      Oracle Java 6</a> and

+      <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext">

+      Oracle Java 7</a>. Note: There is overlap between this attribute and

+      <code>sslEnabledProtocols</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>ciphers</code></td><td align="left" valign="center">

+      <p>The comma separated list of encryption ciphers that this socket is 

+      allowed to use. By default, the default ciphers for the JVM will be used.

+      Note that this usually means that the weak export grade ciphers will be

+      included in the list of available ciphers. The ciphers are specified using

+      the JSSE cipher naming convention.</p>

+    </td></tr><tr><td align="left" valign="center"><code>keyAlias</code></td><td align="left" valign="center">

+      <p>The alias used to for the server certificate in the keystore. If not

+      specified the first key read in the keystore will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>trustManagerClassName</code></td><td align="left" valign="center">

+      <p>The name of a custom trust manager class to use to validate client

+      certificates. The class must have a zero argument constructor and must

+      also implement <code>javax.net.ssl.X509TrustManager</code>. If this

+      attribute is set, the trust store attributes may be ignored.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>truststoreFile</code></td><td align="left" valign="center">

+      <p>The trust store file to use to validate client certificates. The

+      default is the value of the <code>javax.net.ssl.trustStore</code> system

+      property. If neither this attribute nor the default system property is

+      set, no trust store will be configured.</p>

+    </td></tr><tr><td align="left" valign="center"><code>truststorePass</code></td><td align="left" valign="center">

+      <p>The password to access the trust store. The default is the value of the

+      <code>javax.net.ssl.trustStorePassword</code> system property. If that

+      property is null, the value of <code>keystorePass</code> is used as the

+      default. If an invalid trust store password is specified, a warning will

+      be logged and an attempt will be made to access the trust store without a

+      password which will skip validation of the trust store contents. If the

+      trust store password is defined as <code>""</code> then no

+      password will be used to access the store which will also skip validation

+      of the trust store contents.</p>

+    </td></tr><tr><td align="left" valign="center"><code>truststoreType</code></td><td align="left" valign="center">

+      <p>The type of key store used for the trust store. The default is the

+      value of the <code>javax.net.ssl.trustStoreType</code> system property. If

+      that property is null, the value of <code>keystoreType</code> is used as

+      the default.</p>

+     </td></tr><tr><td align="left" valign="center"><code>truststoreProvider</code></td><td align="left" valign="center">

+      <p>The name of the truststore provider to be used for the server

+      certificate. The default is the value of the

+      <code>javax.net.ssl.trustStoreProvider</code> system property. If

+      that property is null, the value of <code>keystoreProvider</code> is used

+      as the default. If neither this attribute, the default system property nor

+      <code>keystoreProvider</code>is set, the list of registered providers is

+      traversed in preference order and the first provider that supports the

+      <code>truststoreType</code> is used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>sessionCacheSize</code></td><td align="left" valign="center">

+      <p>The number of SSL sessions to maintain in the session cache. Use 0 to

+      specify an unlimited cache size. If not specified, a default of 0 is

+      used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>sessionTimeout</code></td><td align="left" valign="center">

+      <p>The time, in seconds, after the creation of an SSL session that it will

+      timeout. Use 0 to specify an unlimited timeout. If not specified, a

+      default of 86400 (24 hours) is used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>sslEnabledProtocols</code></td><td align="left" valign="center">

+      <p>The comma separated list of SSL protocols to support for HTTPS

+      connections. If specified, only the protocols that are listed and

+      supported by the SSL implementation will be enabled. If not specified,

+      the JVM default is used. The permitted values may be obtained from the

+      JVM documentation for the allowed values for 

+      <code>SSLSocket.setEnabledProtocols()</code> e.g.

+      <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#jssenames">

+      Oracle Java 6</a> and

+      <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#jssenames">

+      Oracle Java 7</a>. Note: There is overlap between this attribute and

+      <code>sslProtocol</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><code>crlFile</code></td><td align="left" valign="center">

+      <p>The certificate revocation list file to use to validate client

+      certificates.</p>

+    </td></tr><tr><td align="left" valign="center"><code>allowUnsafeLegacyRenegotiation</code></td><td align="left" valign="center">

+      <p>Is unsafe legacy TLS renegotiation allowed which is likely to expose

+      users to CVE-2009-3555, a man-in-the-middle vulnerability in the TLS

+      protocol that allows an attacker to inject arbitrary data into the user's

+      request. If not specified, a default of <code>false</code> is used. This

+      attribute only has an effect if the JVM does not support RFC 5746 as

+      indicated by the presence of the pseudo-ciphersuite

+      TLS_EMPTY_RENEGOTIATION_INFO_SCSV. This is available JRE/JDK 6 update 22

+      onwards. Where RFC 5746 is supported the renegotiation - including support

+      for unsafe legacy renegotiation - is controlled by the JVM configuration.

+      </p>

+    </td></tr></table>

+

+  <p>For more information, see the

+  <a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>

+

+  </blockquote></td></tr></table>

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Connector Comparison"><!--()--></a><a name="Connector_Comparison"><strong>Connector Comparison</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Below is a small chart that shows how the connectors differentiate.</p>

+    <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+                  Java Blocking Connector       Java Nio Blocking Connector       APR Connector

+    Classname         Http11Protocol                  Http11NioProtocol         Http11AprProtocol

+    Tomcat Version   3.x 4.x 5.x 6.x                       6.x                     5.5.x 6.x

+    Support Polling         NO                             YES                        YES

+    Polling Size           N/A                   Unlimited - Restricted by mem        Unlimited - Configurable

+    Read HTTP Request     Blocking                     Non Blocking                   Blocking

+    Read HTTP Body        Blocking                     Sim Blocking                   Blocking

+    Write HTTP Response   Blocking                     Sim Blocking                   Blocking

+    SSL Support           Java SSL                     Java SSL                       OpenSSL

+    SSL Handshake         Blocking                     Non blocking                   Blocking

+    Max Connections       maxThreads                   See polling size               See polling size

+    

+    

+    </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+  </blockquote></td></tr></table>

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/index.html b/tomcat-uid/webapps/docs/config/index.html
new file mode 100644
index 0000000..ab6576e
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/index.html
@@ -0,0 +1,67 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - Overview</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>Overview</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>

+

+<p>This manual contains reference information about all of the configuration

+directives that can be included in a <code>conf/server.xml</code> file to

+configure the behavior of the Tomcat 6 Servlet/JSP container.  It does not

+attempt to describe which configuration directives should be used to perform

+specific tasks - for that, see the various <em>HOW-TO</em> documents on the

+main index page.</p>

+

+<p>Tomcat configuration files are formatted as schemaless XML; elements and

+attributes are case-sensitive. Apache Ant-style variable substitution

+is supported; a system property with the name <code>propname</code> may be

+used in a configuration file using the syntax <code>${propname}</code>. All

+system properties are available including those set using the <code>-D</code>

+syntax, those automatically made available by the JVM and those configured in

+the <code>$CATALINA_BASE/conf/catalina.properties</code> file.

+</p>

+

+<p>The configuration element descriptions are organized into the following

+major categories:</p>

+<ul>

+<li><strong>Top Level Elements</strong> - <code>&lt;Server&gt;</code> is the

+    root element of the entire configuration file, while

+    <code>&lt;Service&gt;</code> represents a group of Connectors that is

+    associated with an Engine.</li>

+<li><strong>Connectors</strong> - Represent the interface between external

+    clients sending requests to (and receiving responses from) a particular

+    Service.</li>

+<li><strong>Containers</strong> - Represent components whose function is to

+    process incoming requests, and create the corresponding responses.

+    An Engine handles all requests for a Service, a Host handles all requests

+    for a particular virtual host, and a Context handles all requests for a

+    specific web application.</li>

+<li><strong>Nested Components</strong> - Represent elements that can be

+    nested inside the element for a Container.  Some elements can be nested

+    inside any Container, while others can only be nested inside a

+    Context.</li>

+</ul>

+

+<p>For each element, the corresponding documentation follows this general

+outline:</p>

+<ul>

+<li><strong>Introduction</strong> - Overall description of this particular

+    component.  There will be a corresponding Java <em>interface</em> (in

+    the <code>org.apache.catalina</code> package) that is implemented by one

+    or more standard implementations.</li>

+<li><strong>Attributes</strong> - The set of attributes that are legal for

+    this element.  Generally, this will be subdivided into <em>Common</em>

+    attributes that are supported by all implementations of the corresponding

+    Java interface, and <em>Standard Implementation</em> attributes that are

+    specific to a particular Java class that implements this interface.

+    The names of required attributes are <strong>bolded</strong>.</li>

+<li><strong>Nested Components</strong> - Enumerates which of the <em>Nested

+    Components</em> can be legally nested within this element.</li>

+<li><strong>Special Features</strong> - Describes the configuration of a large

+    variety of special features (specific to each element type) that are

+    supported by the standard implementation of this interface.</li>

+</ul>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/listeners.html b/tomcat-uid/webapps/docs/config/listeners.html
new file mode 100644
index 0000000..d8347e8
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/listeners.html
@@ -0,0 +1,334 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The LifeCycle Listener Component</title><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The LifeCycle Listener Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Standard_Implementation">Standard Implementation</a><ol><li><a href="#APR_Lifecycle_Listener_-_org.apache.catalina.core.AprLifecycleListener">APR Lifecycle Listener - org.apache.catalina.core.AprLifecycleListener</a></li><li><a href="#Jasper_Listener_-_org.apache.catalina.core.JasperListener">Jasper Listener - org.apache.catalina.core.JasperListener</a></li><li><a href="#Server_Lifecycle_Listener_-_org.apache.catalina.mbeans.ServerLifecycleListener">Server Lifecycle Listener - org.apache.catalina.mbeans.ServerLifecycleListener</a></li><li><a href="#Global_Resources_Lifecycle_Listener_-_org.apache.catalina.mbeans.GlobalResourcesLifecycleListener">Global Resources Lifecycle Listener - org.apache.catalina.mbeans.GlobalResourcesLifecycleListener</a></li><li><a href="#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener">JMX Remote Lifecycle Listener - org.apache.catalina.mbeans.JmxRemoteLifecycleListener</a></li><li><a href="#JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener">JRE Memory Leak Prevention Listener - org.apache.catalina.core.JreMemoryLeakPreventionListener</a></li><li><a href="#UserConfig_-_org.apache.catalina.startup.UserConfig">UserConfig - org.apache.catalina.startup.UserConfig</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>A <strong>Listener</strong> element defines a component that performs

+  actions when specific events occur, usually Tomcat starting or Tomcat

+  stopping.</p>

+

+  <p>Listeners may be nested inside a <a href="server.html">Server</a>, 

+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a> or

+  <a href="context.html">Context</a>. Some Listeners are only intended to be

+  nested inside specific elements. These constraints are noted in the

+  documentation below.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Listener</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use. This class must

+        implement the <code>org.apache.catalina.LifecycleListener</code>

+        interface.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>No element may be nested inside a <strong>Listener</strong>.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Unlike most Catalina components, there are several standard

+    <strong>Listener</strong> implementations available.  As a result,

+    the <code>className</code> attribute MUST be used to select the

+    implementation you wish to use.</p>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="APR Lifecycle Listener - org.apache.catalina.core.AprLifecycleListener"><!--()--></a><a name="APR_Lifecycle_Listener_-_org.apache.catalina.core.AprLifecycleListener"><strong>APR Lifecycle Listener - org.apache.catalina.core.AprLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>APR Lifecycle Listener</strong> checks for the presence of

+    the APR/native library and loads the library if it is present. For more

+    information see the <a href="../apr.html">APR/native guide</a>.</p>

+

+    <p>This listener must only be nested within <a href="server.html">Server</a>

+    elements.</p>

+

+    <p>The following additional attributes are supported by the <strong>APR

+    Lifecycle Listener</strong>:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>SSLEngine</code></td><td align="left" valign="center">

+        <p>Name of the SSLEngine to use. <code>off</code>: do not use SSL,

+        <code>on</code>: use SSL but no specific ENGINE.</p>

+        <p>The default value is <b>on</b>. This initializes the

+        native SSL engine, which must be enabled in the APR/native connector by

+        the use of the <code>SSLEnabled</code> attribute.</p>

+        <p>See the <a href="http://www.openssl.org/">Official OpenSSL website</a>

+        for more details on supported SSL hardware engines and manufacturers.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>SSLRandomSeed</code></td><td align="left" valign="center">

+        <p>Entropy source used to seed the SSLEngine's PRNG. The default value

+        is <code>builtin</code>. On development systems, you may want to set

+        this to <code>/dev/urandom</code> to allow quicker start times.</p>

+      </td></tr><tr><td align="left" valign="center"><code>FIPSMode</code></td><td align="left" valign="center">

+        <p>Set to <code>on</code> to instruct OpenSSL to go into FIPS mode.

+        FIPS mode <em>requires you to have a FIPS-capable OpenSSL library which

+        you must build yourself</em>.

+        FIPS mode also requires Tomcat native library version 1.1.23 or later,

+        which <em>must be built against the FIPS-compatible OpenSSL</em> library.

+        If this attribute is "on", <b>SSLEngine</b> must be enabled as well.

+        The default value is <code>off</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Jasper Listener - org.apache.catalina.core.JasperListener"><!--()--></a><a name="Jasper_Listener_-_org.apache.catalina.core.JasperListener"><strong>Jasper Listener - org.apache.catalina.core.JasperListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Jasper Listener</strong> initializes the Jasper 2 JSP engine

+    before any web applications that may use it are loaded. For more

+    information on the Jasper 2 JSP engine see the

+    <a href="../jasper-howto.html">Jasper How To</a>.</p>

+

+    <p>This listener must only be nested within <a href="server.html">Server</a>

+    elements.</p>

+

+    <p>No additional attributes are supported by the <strong>Jasper Listener

+    </strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Server Lifecycle Listener - org.apache.catalina.mbeans.ServerLifecycleListener"><!--()--></a><a name="Server_Lifecycle_Listener_-_org.apache.catalina.mbeans.ServerLifecycleListener"><strong>Server Lifecycle Listener - org.apache.catalina.mbeans.ServerLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Server Lifecycle Listener</strong> initializes the

+    MBeanServer for the MBeans that may be used to manage Tomcat via JMX.

+    Without this listener, none of the Tomcat MBeans will be available.</p>

+

+    <p>This listener must only be nested within <a href="server.html">Server</a>

+    elements.</p>

+

+    <p>No additional attributes are supported by the <strong>Server Lifecycle

+    Listener</strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Global Resources Lifecycle Listener - org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"><!--()--></a><a name="Global_Resources_Lifecycle_Listener_-_org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"><strong>Global Resources Lifecycle Listener - org.apache.catalina.mbeans.GlobalResourcesLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Global Resources Lifecycle Listener</strong> initializes the

+    Global JNDI resources defined in server.xml as part of the <a href="globalresources.html">Global Resources</a> element. Without this

+    listener, none of the Global Resources will be available.</p>

+

+    <p>This listener must only be nested within <a href="server.html">Server</a>

+    elements.</p>

+

+    <p>No additional attributes are supported by the <strong>Global Resources

+    Lifecycle Listener</strong>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="JMX Remote Lifecycle Listener - org.apache.catalina.mbeans.JmxRemoteLifecycleListener"><!--()--></a><a name="JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener"><strong>JMX Remote Lifecycle Listener - org.apache.catalina.mbeans.JmxRemoteLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>This listener requires <code>catalina-jmx-remote.jar</code> to be placed

+    in <code>$CATALINA_HOME/lib</code>. This jar may be found in the extras

+    directory of the binary download area.</p>

+

+    <p>The <strong>JMX Remote Lifecycle Listener</strong> fixes the ports used by

+    the JMX/RMI Server making things much simpler if you need to connect

+    jconsole or a similar tool to a remote Tomcat instance that is running

+    behind a firewall. Only these ports are configured via the listener. The

+    remainder of the configuration is via the standard system properties for

+    configuring JMX. For further information on configuring JMX see

+    <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">

+    Monitoring and Management Using JMX</a> included with the Java SDK

+    documentation.</p>

+

+    <p>If this listener was configured in server.xml as:

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+&lt;Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"

+          rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" /&gt;

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    with the following system properties set (e.g. in setenv.sh):

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password

+-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access

+-Dcom.sun.management.jmxremote.ssl=false

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    $CATALINA_BASE/conf/jmxremote.password containing:

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+admin letmein

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    $CATALINA_BASE/conf/jmxremote.access containing:

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+admin readwrite

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    then opening ports 10001 (RMI Registry) and 10002 (JMX/RMI Server) in your

+    firewall would enable jconsole to connect to a Tomcat instance running

+    behind a firewall using a connection string of the form:

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+service:jmx:rmi://&lt;hostname&gt;:10002/jndi/rmi://&lt;hostname&gt;:10001/jmxrmi

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+    with a user name of <code>admin</code> and a password of

+    <code>letmein</code>.

+    </p>

+    

+    <p><strong>Note that the example above does not use SSL. JMX access should

+    be considered equivalent to administrative access and secured accordingly.

+    </strong></p>

+

+    <p>This listener must only be nested within a <a href="server.html">Server</a>

+    element.</p>

+

+    <p>The following additional attributes are supported by the <strong>JMX Remote

+    Lifecycle Listener</strong>:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>rmiRegistryPortPlatform</code></strong></td><td align="left" valign="center">

+        <p>The port to be used by the JMX/RMI registry for the Platform MBeans.

+        The replaces the use of the

+        <code>com.sun.management.jmxremote.port</code> system property that

+        should not be set when using this valve.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>rmiServerPortPlatform</code></strong></td><td align="left" valign="center">

+        <p>The port to be used by the Platform JMX/RMI server.</p>

+      </td></tr><tr><td align="left" valign="center"><code>useLocalPorts</code></td><td align="left" valign="center">

+        <p>Should any clients using these ports be forced to use local ports to

+        connect to the the JMX/RMI server. This is useful when tunnelling

+        connections over SSH or similar. Defaults to <code>false</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="JRE Memory Leak Prevention Listener - org.apache.catalina.core.JreMemoryLeakPreventionListener"><!--()--></a><a name="JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener"><strong>JRE Memory Leak Prevention Listener - org.apache.catalina.core.JreMemoryLeakPreventionListener</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>JRE Memory Leak Prevention Listener</strong> provides

+    work-arounds for known places where the Java Runtime environment uses

+    the context class loader to load a singleton as this will cause a memory

+    leak if a web application class loader happens to be the context class

+    loader at the time. The work-around is to initialise these singletons when

+    this listener starts as Tomcat's common class loader is the context class

+    loader at that time. It also provides work-arounds for known issues that

+    can result in locked JAR files.</p>

+    

+    <p>This listener must only be nested within <a href="server.html">Server</a>

+    elements.</p>

+

+    <p>The following additional attributes are supported by the <strong>JRE

+    Memory Leak Prevention Listener</strong>:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>appContextProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that calls to

+        <code>sun.awt.AppContext.getAppContext()</code> triggered by a web

+        application do not result in a memory leak. Note that a call to this

+        method will be triggered as part of the web application stop process so

+        it is strongly recommended that this protection is enabled. The default

+        is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>AWTThreadProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that calls to

+        <code>java.awt.Toolkit.getDefaultToolkit()</code> triggered by a web

+        application do not result in a memory leak.

+        Defaults to <code>false</code> because an AWT thread is launched.</p>

+      </td></tr><tr><td align="left" valign="center"><code>classesToInitialize</code></td><td align="left" valign="center">

+        <p>List of comma-separated fully qualified class names to load and initialize 

+        during the startup of this Listener. This allows to pre-load classes that are 

+        known to provoke classloader leaks if they are loaded during a request 

+        processing. Non-JRE classes may be referenced, like 

+        <code>oracle.jdbc.driver.OracleTimeoutThreadPerVM</code>.

+        The default value is empty, but specific JRE classes are loaded by other leak 

+        protection features managed by other attributes of this Listener.</p>

+      </td></tr><tr><td align="left" valign="center"><code>driverManagerProtection</code></td><td align="left" valign="center">

+        <p>The first use of <code>java.sql.DriverManager</code> will trigger the

+        loading of JDBC Driver in the the current class loader. The web

+        application level memory leak protection can take care of this in most

+        cases but triggering the loading here has fewer side-effects. The

+        default is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>gcDaemonProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that calls to

+        <code>sun.misc.GC.requestLatency(long)</code> triggered by a web

+        application do not result in a memory leak. Use of RMI is likely to

+        trigger a call to this method. A side effect of enabling this protection

+        is the creation of a thread named "GC Daemon". The protection uses

+        reflection to access internal Sun classes and may generate errors on

+        startup on non-Sun JVMs. The default is <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>ldapPoolProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that the PoolCleaner thread started by

+        <code>com.sun.jndi.ldap.LdapPoolManager</code> does not result in a 

+        memory leak. The thread is started the first time the 

+        <code>LdapPoolManager</code> class is used if the system property 

+        <code>com.sun.jndi.ldap.connect.pool.timeout</code> is set to a value

+        greater than 0. Without this protection, if a web application uses this 

+        class the PoolCleaner thread will be configured with the thread's 

+        context class loader set to the web application class loader which in 

+        turn will trigger a memory leak on reload. Defaults to 

+        <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securityLoginConfigurationProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that usage of the

+        <code>javax.security.auth.login.Configuration</code> class by a web 

+        application does not provoke a memory leak. The first access of this 

+        class will trigger the initializer that will retain a static reference 

+        to the context class loader. The protection loads the class with the 

+        system class loader to ensure that the static initializer is not 

+        triggered by a web application. Defaults to <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securityPolicyProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that usage of the deprecated

+        <code>javax.security.auth.Policy</code> class by a web application does not

+        result in a memory leak. The first access of this class will trigger the

+        static initializer that will retain a static reference to the context

+        class loader. The protection calls the <code>getPolicy()</code> method

+        of this class to ensure that the static initializer is not triggered by

+        a web application. Defaults to <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>tokenPollerProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that any token poller thread initialized by

+        <code>sun.security.pkcs11.SunPKCS11.initToken()</code> does not

+        result in a memory leak. The thread is started depending on various

+        conditions as part of the initialization of the Java Cryptography

+        Architecture. Without the protection this can happen during Webapp

+        deployment when the MessageDigest for generating session IDs is

+        initialized. As a result the thread has the Webapp class loader as its

+        thread context class loader. Enabling the protection initializes JCA

+        early during Tomcat startup. Defaults to <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>urlCacheProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that reading resources from JAR files using

+        <code>java.net.URLConnection</code>s does not result in the JAR file

+        being locked. Note that enabling this protection disables caching by

+        default for all resources obtained via

+        <code>java.net.URLConnection</code>s. Caching may be re-enabled on a

+        case by case basis as required. Defaults to <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>xmlParsingProtection</code></td><td align="left" valign="center">

+        <p>Enables protection so that parsing XML files within a web application

+        does not result in a memory leak. Note that memory profilers may not

+        display the GC root associated with this leak making it particularly

+        hard to diagnose. Defaults to <code>true</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="UserConfig - org.apache.catalina.startup.UserConfig"><!--()--></a><a name="UserConfig_-_org.apache.catalina.startup.UserConfig"><strong>UserConfig - org.apache.catalina.startup.UserConfig</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>UserConfig</strong> provides feature of User Web Applications.

+    User Web Applications map a request URI starting with a tilde character ("~")

+    and a username to a directory (commonly named public_html) in that user's

+    home directory on the server.</p>

+

+    <p>See the <a href="host.html#User_Web_Applications">User Web Applications</a>

+    special feature on the <strong>Host</strong> element for more information.</p>

+

+    <p>The following additional attributes are supported by the

+    <strong>UserConfig</strong>:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>directoryName</code></td><td align="left" valign="center">

+        <p>The directory name to be searched for within each user home directory.

+        The default is <code>public_html</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userClass</code></td><td align="left" valign="center">

+        <p>The class name of the user database class.

+        There are currently two user database, the

+        <code>org.apache.catalina.startup.PasswdUserDatabase</code> is used on a

+        Unix system that uses the /etc/passwd file to identify valid users.

+        The <code>org.apache.catalina.startup.HomesUserDatabase</code> is used on

+        a server where /etc/passwd is not in use. HomesUserDatabase deploy all

+        directories found in a specified base directory.</p>

+      </td></tr><tr><td align="left" valign="center"><code>homeBase</code></td><td align="left" valign="center">

+        <p>The base directory containing user home directories.This is effective

+        only when <code>org.apache.catalina.startup.HomesUserDatabase</code> is

+        used.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/loader.html b/tomcat-uid/webapps/docs/config/loader.html
new file mode 100644
index 0000000..25ec15c
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/loader.html
@@ -0,0 +1,113 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Loader Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Loader Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Loader</strong> element represents the <em>web

+  application class loader</em> that will be used to load Java

+  classes and resources for your web application.  Such

+  a class loader must follow the requirements of the Servlet

+  Specification, and load classes from the following locations:</p>

+  <ul>

+  <li>From the <code>/WEB-INF/classes</code> directory inside your

+      web application.</li>

+  <li>From JAR files in the <code>/WEB-INF/lib</code> directory

+      inside your web application.</li>

+  <li>From resources made available by Catalina to all web

+      applications globally.</li>

+  </ul>

+

+  <p>A Loader element MAY be nested inside a <a href="context.html">Context</a>

+  component.  If it is not included, a default Loader configuration will be

+  created automatically, which is sufficient for most requirements.</p>

+

+  <p>For a more in-depth description of the class loader hierarchy

+  that is implemented by Catalina, see <a href="../class-loader-howto.html">the ClassLoader HowTo</a>.</p>

+

+    <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

+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,

+    the directory into which you have installed Tomcat 6.</p>

+    </em></blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Loader</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Loader</code> interface.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>delegate</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want the class loader to follow

+        the standard Java2 delegation model, and attempt to load classes from

+        parent class loaders <strong>before</strong> looking inside the web

+        application.  Set to <code>false</code> (the default) to have the

+        class loader look inside the web application first, before asking

+        parent class loaders to find requested classes or resources.</p>

+      </td></tr><tr><td align="left" valign="center"><code>reloadable</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want Catalina to monitor classes in

+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for

+        changes, and automatically reload the web application if a change

+        is detected.  This feature is very useful during application

+        development, but it requires significant runtime overhead and is

+        not recommended for use on deployed production applications.  You

+        can use the <a href="../manager-howto.html">Manager</a> web

+        application, however, to trigger reloads of deployed applications

+        on demand.</p>

+

+        <p><strong>NOTE</strong> - The value for this property will be

+        inherited from the <code>reloadable</code> attribute you set on

+        the surrounding <a href="context.html">Context</a> component,

+        and any value you explicitly set here will be replaced.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The standard implementation of <strong>Loader</strong> is

+    <strong>org.apache.catalina.loader.WebappLoader</strong>.

+    It supports the following additional attributes (in addition to the

+    common attributes listed above):</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>loaderClass</code></td><td align="left" valign="center">

+        <p>Java class name of the <code>java.lang.ClassLoader</code>

+        implementation class to use.  If not specified, the default value is

+        <code>org.apache.catalina.loader.WebappClassLoader</code>. Custom

+        <strong>loaderClass</strong> implementations must extend

+        <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>searchExternalFirst</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want repositories outside

+        of <code>WEB-INF/classes</code> and <code>WEB-INF/lib</code> to

+        be searched first. Default value is <code>false</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>No components may be nested inside a <strong>Loader</strong> element.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>A loader is associated with the log category based on its classname.</p>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/manager.html b/tomcat-uid/webapps/docs/config/manager.html
new file mode 100644
index 0000000..7383164
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/manager.html
@@ -0,0 +1,386 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Manager Component</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Yoav Shapira"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Manager Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Persistence_Across_Restarts">Persistence Across Restarts</a></li><li><a href="#Disable_Session_Persistence">Disable Session Persistence</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Manager</strong> element represents the <em>session

+  manager</em> that will be used to create and maintain HTTP sessions

+  as requested by the associated web application.</p>

+

+  <p>A Manager element MAY be nested inside a

+  <a href="context.html">Context</a> component.  If it is not included,

+  a default Manager configuration will be created automatically, which

+  is sufficient for most requirements, &mdash; see

+  <em>Standard Manager Implementation</em> below for the details

+  of this configuration.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Manager</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Manager</code> interface.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>distributable</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> to ask the session manager to enforce

+        the restrictions described in the Servlet Specification on

+        distributable applications (primarily, this would mean that all

+        session attributes must implement <code>java.io.Serializable</code>).

+        Set to <code>false</code> (the default) to not enforce these

+        restrictions.</p>

+

+        <p><strong>NOTE</strong> - The value for this property is inherited

+        automatically based on the presence or absence of the

+        <code>&lt;distributable&gt;</code> element in the web application

+        deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Tomcat provides two standard implementations of <strong>Manager</strong>

+    for use &mdash; the default one stores active sessions, while the optional one

+    stores active sessions that have been swapped out (in addition to saving

+    sessions across a restart of Tomcat) in a storage location that is selected

+    via the use of an appropriate <strong>Store</strong> nested element.</p>

+

+    <h3>Standard Manager Implementation</h3>

+

+    <p>The standard implementation of <strong>Manager</strong> is

+    <strong>org.apache.catalina.session.StandardManager</strong>.

+    It supports the following additional attributes (in addition to the

+    common attributes listed above):</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>algorithm</code></td><td align="left" valign="center">

+        <p>Name of the <em>Message Digest</em> algorithm used to calculate

+        session identifiers produced by this Manager.  This value must

+        be supported by the <code>java.security.MessageDigest</code> class.

+        If not specified, the default value is "MD5".</p>

+      </td></tr><tr><td align="left" valign="center"><code>entropy</code></td><td align="left" valign="center">

+        <p>A String value that is utilized when seeding the random number

+        generator used to create session identifiers for this Manager.

+        If not specified, a semi-useful value is calculated, but a long

+        String value should be specified in security-conscious

+        environments.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxActiveSessions</code></td><td align="left" valign="center">

+        <p>The maximum number of active sessions that will be created by

+        this Manager, or -1 (the default) for no limit.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxInactiveInterval</code></td><td align="left" valign="center">

+        <p>The initial maximum time interval, in seconds, 

+        between client requests before a session is invalidated. A negative value

+        will result in sessions never timing out. If the attribute is not provided,

+        a default of 60 seconds is used.</p>

+        

+        <p>This attribute provides the initial value whenever a 

+        new session is created, but the interval may be dynamically 

+        varied by a servlet via the 

+        <code>setMaxInactiveInterval</code> method of the <code>HttpSession</code> object.</p>

+      </td></tr><tr><td align="left" valign="center"><code>pathname</code></td><td align="left" valign="center">

+        <p>Absolute or relative (to the work directory for this Context)

+        pathname of the file in which session state will be preserved

+        across application restarts, if possible.  The default is

+        "SESSIONS.ser".<br>See

+        <a href="#Persistence_Across_Restarts">Persistence Across Restarts</a>

+        for more information. This persistence may be 

+        disabled by setting this attribute to an empty string.</p>

+      </td></tr><tr><td align="left" valign="center"><code>processExpiresFrequency</code></td><td align="left" valign="center">

+        <p>Frequency of the session expiration, and related manager operations.

+        Manager operations will be done once for the specified amount of

+        backgroundProcess calls (i.e., the lower the amount, the more often the

+        checks will occur). The minimum value is 1, and the default value is 6.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>randomClass</code></td><td align="left" valign="center">

+        <p>Java class name of the <code>java.util.Random</code>

+        implementation class to use.  If not specified, the default value is

+        <code>java.security.SecureRandom</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>randomFile</code></td><td align="left" valign="center">

+        <p>Name of a file that provides random data that are used to generate

+        session ids. If not specified, the default value is

+        <code>/dev/urandom</code> on Unix-like systems (those where such

+        file path is absolute) and empty on others.</p>

+      </td></tr><tr><td align="left" valign="center"><code>sessionIdLength</code></td><td align="left" valign="center">

+       <p>The length of session ids created by this Manager, measured in bytes,

+        excluding subsequent conversion to a hexadecimal string and

+        excluding any JVM route information used for load balancing.

+        The default is 16.</p>

+      </td></tr></table>

+

+    <h3>Persistent Manager Implementation</h3>

+

+    <p><em><strong>WARNING - Use of this Manager implementation

+    has not been thoroughly tested, and should be considered experimental!

+    </strong></em></p>

+

+    <p><strong>NOTE:</strong> You must set either the

+    <code>org.apache.catalina.session.StandardSession.ACTIVITY_CHECK</code> or

+    <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>

+    <a href="systemprops.html">system properties</a> to <code>true</code> for

+    the persistent manager to work correctly.</p>

+    

+    <p>The persistent implementation of <strong>Manager</strong> is

+    <strong>org.apache.catalina.session.PersistentManager</strong>.  In

+    addition to the usual operations of creating and deleting sessions, a

+    <code>PersistentManager</code> has the capability to swap active (but

+    idle) sessions out to a persistent storage mechanism, as well as to save

+    all sessions across a normal restart of Tomcat.  The actual persistent

+    storage mechanism used is selected by your choice of a

+    <strong>Store</strong> element nested inside the <strong>Manager</strong>

+    element - this is required for use of <code>PersistentManager</code>.</p>

+

+    <p>This implementation of Manager supports the following attributes in

+    addition to the <a href="#Common Attributes">Common Attributes</a>

+    described earlier.</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>algorithm</code></td><td align="left" valign="center">

+        <p>Name of the <em>Message Digest</em> algorithm used to calculate

+        session identifiers produced by this Manager.  This value must

+        be supported by the <code>java.security.MessageDigest</code> class.

+        If not specified, the default value is "MD5".</p>

+      </td></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Manager</code> interface.

+        You <strong>must</strong> specify

+        <code>org.apache.catalina.session.PersistentManager</code> to use

+        this manager implementation.</p>

+      </td></tr><tr><td align="left" valign="center"><code>entropy</code></td><td align="left" valign="center">

+        <p>A String value that is utilized when seeding the random number

+        generator used to create session identifiers for this Manager.

+        If not specified, a semi-useful value is calculated, but a long

+        String value should be specified in security-conscious

+        environments.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxActiveSessions</code></td><td align="left" valign="center">

+        <p>The maximum number of active sessions that will be created by

+        this Manager, or -1 (the default) for no limit.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxIdleBackup</code></td><td align="left" valign="center">

+        <p>The time interval (in seconds) since the last access to a session

+        before it is eligible for being persisted to the session store, or

+        <code>-1</code> to disable this feature.  By default, this feature is

+        disabled.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxIdleSwap</code></td><td align="left" valign="center">

+        <p>The time interval (in seconds) since the last access to a session

+        before it should be persisted to the session store, and

+        passivated out of the server's memory, or <code>-1</code> to disable

+        this feature.  If this feature is enabled, the time interval specified

+        here should be equal to or longer than the value specified for

+        <code>maxIdleBackup</code>.  By default, this feature is disabled.</p>

+      </td></tr><tr><td align="left" valign="center"><code>minIdleSwap</code></td><td align="left" valign="center">

+        <p>The time interval (in seconds) since the last access to a session

+        before it will be eligible to be persisted to the session store, and

+        passivated out of the server's memory, or <code>-1</code> for this

+        swapping to be available at any time.  If specified, this value should

+        be less than that specified by <code>maxIdleSwap</code>.  By default,

+        this value is set to <code>-1</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>maxInactiveInterval</code></td><td align="left" valign="center">

+        <p>The initial maximum time interval, in seconds, 

+        between client requests before a session is invalidated. A negative value

+        will result in sessions never timing out. If the attribute is not provided,

+        a default of 60 seconds is used.</p>

+        

+        <p>This attribute provides the initial value whenever a 

+        new session is created, but the interval may be dynamically 

+        varied by a servlet via the 

+        <code>setMaxInactiveInterval</code>method of the <code>HttpSession</code> object.</p>

+      </td></tr><tr><td align="left" valign="center"><code>randomClass</code></td><td align="left" valign="center">

+        <p>Java class name of the <code>java.util.Random</code>

+        implementation class to use.  If not specified, the default value is

+        <code>java.security.SecureRandom</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>randomFile</code></td><td align="left" valign="center">

+        <p>Name of a file that provides random data that are used to generate

+        session ids. If not specified, the default value is

+        <code>/dev/urandom</code> on Unix-like systems (those where such

+        file path is absolute) and empty on others.</p>

+      </td></tr><tr><td align="left" valign="center"><code>saveOnRestart</code></td><td align="left" valign="center">

+        <p>Should all sessions be persisted and reloaded when Tomcat is shut

+        down and restarted (or when this application is reloaded)?  By default,

+        this attribute is set to <code>true</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>sessionIdLength</code></td><td align="left" valign="center">

+       <p>The length of session ids created by this Manager, measured in bytes,

+        excluding subsequent conversion to a hexadecimal string and

+        excluding any JVM route information used for load balancing.

+        The default is 16.</p>

+      </td></tr></table>

+

+    <p>In order to successfully use a PersistentManager, you must nest inside

+    it a <strong>&lt;Store&gt;</strong> element, as described below.</p>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <h3>Standard Manager Implementation</h3>

+

+  <p>If you are using the <em>Standard Manager Implementation</em>

+  as described above, no elements may be nested inside your

+  <strong>&lt;Manager&gt;</strong> element.</p>

+

+  <h3>Persistent Manager Implementation</h3>

+

+  <p>If you are using the <em>Persistent Manager Implementation</em>

+  as described above, you <strong>MUST</strong> nest a

+  <strong>&lt;Store&gt;</strong> element inside, which defines the

+  characteristics of the persistent data storage.  Two implementations

+  of the <code>&lt;Store&gt;</code> element are currently available,

+  with different characteristics, as described below.</p>

+

+  <h5>File Based Store</h5>

+

+  <p>The <em>File Based Store</em> implementation saves swapped out

+  sessions in individual files (named based on the session identifier)

+  in a configurable directory.  Therefore, you are likely to encounter

+  scalability problems as the number of active sessions increases, and

+  this should primarily be considered a means to easily experiment.</p>

+

+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside

+  your <code>&lt;Manager&gt;</code> element with the following attributes:

+  </p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>checkInterval</code></td><td align="left" valign="center">

+      <p>The interval (in seconds) between checks for expired sessions

+      among those sessions that are currently swapped out.  By default,

+      this interval is set to 60 seconds (one minute).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      <p>Java class name of the implementation to use.  This class must

+      implement the <code>org.apache.catalina.Store</code> interface.  You

+      <strong>must</strong> specify

+      <code>org.apache.catalina.session.FileStore</code>

+      to use this implementation.</p>

+    </td></tr><tr><td align="left" valign="center"><code>directory</code></td><td align="left" valign="center">

+      <p>Absolute or relative (to the temporary work directory for this web

+      application) pathname of the directory into which individual session

+      files are written.  If not specified, the temporary work directory

+      assigned by the container is utilized.</p>

+    </td></tr></table>

+

+

+  <h5>JDBC Based Store</h5>

+

+  <p>The <em>JDBC Based Store</em> implementation saves swapped out

+  sessions in individual rows of a preconfigured table in a database

+  that is accessed via a JDBC driver.  With large numbers of swapped out

+  sessions, this implementation will exhibit improved performance over

+  the File Based Store described above.</p>

+

+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside

+  your <code>&lt;Manager&gt;</code> element with the following attributes:

+  </p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>checkInterval</code></td><td align="left" valign="center">

+      <p>The interval (in seconds) between checks for expired sessions

+      among those sessions that are currently swapped out.  By default,

+      this interval is set to 60 seconds (one minute).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+      <p>Java class name of the implementation to use.  This class must

+      implement the <code>org.apache.catalina.Store</code> interface.  You

+      <strong>must</strong> specify

+      <code>org.apache.catalina.session.JDBCStore</code>

+      to use this implementation.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>connectionURL</code></strong></td><td align="left" valign="center">

+      <p>The connection URL that will be handed to the configured JDBC

+      driver to establish a connection to the database containing our

+      session table.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>driverName</code></strong></td><td align="left" valign="center">

+      <p>Java class name of the JDBC driver to be used.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionAppCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified session

+      table, that contains the Engine, Host, and Web Application Context

+      name in the format <code>/Engine/Host/Context</code>.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionDataCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified

+      session table, that contains the serialized form of all session

+      attributes for a swapped out session.  The column type must accept

+      a binary object (typically called a BLOB).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionIdCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified

+      session table, that contains the session identifier of the

+      swapped out session.  The column type must accept character

+      string data of at least as many characters as are contained

+      in session identifiers created by Tomcat (typically 32).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionLastAccessedCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified

+      session table, that contains the <code>lastAccessedTime</code>

+      property of this session.  The column type must accept a

+      Java <code>long</code> (64 bits).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionMaxInactiveCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified

+      session table, that contains the <code>maxInactiveInterval</code>

+      property of this session.  The column type must accept a

+      Java <code>integer</code> (32 bits).</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionTable</code></strong></td><td align="left" valign="center">

+      <p>Name of the database table to be used for storing swapped out

+      sessions.  This table must contain (at least) the database columns

+      that are configured by the other attributes of this element.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>sessionValidCol</code></strong></td><td align="left" valign="center">

+      <p>Name of the database column, contained in the specified

+      session table, that contains a flag indicating whether this

+      swapped out session is still valid or not.  The column type

+      must accept a single character.</p>

+    </td></tr></table>

+

+  <p>Before attempting to use the JDBC Based Store for the first time,

+  you must create the table that will be used to store swapped out sessions.

+  Detailed SQL commands vary depending on the database you are using, but

+  a script like this will generally be required:</p>

+

+<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

+create table tomcat_sessions (

+  session_id     varchar(100) not null primary key,

+  valid_session  char(1) not null,

+  max_inactive   int not null,

+  last_access    bigint not null,

+  app_name       varchar(255),

+  session_data   mediumblob,

+  KEY kapp_name(app_name)

+);

+</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+

+  <p>In order for the JDBC Based Store to successfully connect to your

+  database, the JDBC driver you configure must be visible to Tomcat's

+  internal class loader.  Generally, that means you must place the JAR

+  file containing this driver into the <code>$CATALINA_HOME/lib</code>

+  directory.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Persistence Across Restarts"><!--()--></a><a name="Persistence_Across_Restarts"><strong>Persistence Across Restarts</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Whenever Apache Tomcat is shut down normally and restarted, or when an

+    application reload is triggered, the standard Manager implementation

+    will attempt to serialize all currently active sessions to a disk

+    file located via the <code>pathname</code> attribute.  All such saved

+    sessions will then be deserialized and activated (assuming they have

+    not expired in the mean time) when the application reload is completed.</p>

+

+    <p>In order to successfully restore the state of session attributes,

+    all such attributes MUST implement the <code>java.io.Serializable</code>

+    interface.  You MAY cause the Manager to enforce this restriction by

+    including the <code>&lt;distributable&gt;</code> element in your web

+    application deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Disable Session Persistence"><!--()--></a><a name="Disable_Session_Persistence"><strong>Disable Session Persistence</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>As documented above, every web application by default has

+    standard manager implementation configured, and it performs session

+    persistence across restarts. To disable this persistence feature, create

+    a <a href="context.html">Context</a> configuration file for your web

+    application and add the following element there:</p>

+

+    <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>&lt;Manager pathname="" /&gt;</pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/realm.html b/tomcat-uid/webapps/docs/config/realm.html
new file mode 100644
index 0000000..50e5182
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/realm.html
@@ -0,0 +1,739 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Realm Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Realm Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm">JDBC Database Realm - org.apache.catalina.realm.JDBCRealm</a></li><li><a href="#DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm">DataSource Database Realm - org.apache.catalina.realm.DataSourceRealm</a></li><li><a href="#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm">JNDI Directory Realm - org.apache.catalina.realm.JNDIRealm</a></li><li><a href="#UserDatabase_Realm_-_org.apache.catalina.realm.UserDatabaseRealm">UserDatabase Realm - org.apache.catalina.realm.UserDatabaseRealm</a></li><li><a href="#Memory_Based_Realm_-_org.apache.catalina.realm.MemoryRealm">Memory Based Realm - org.apache.catalina.realm.MemoryRealm</a></li><li><a href="#JAAS_Realm_-_org.apache.catalina.realm.JAASRealm">JAAS Realm - org.apache.catalina.realm.JAASRealm</a></li><li><a href="#Combined_Realm_-_org.apache.catalina.realm.CombinedRealm">Combined Realm - org.apache.catalina.realm.CombinedRealm</a></li><li><a href="#LockOut_Realm_-_org.apache.catalina.realm.LockOutRealm">LockOut Realm - org.apache.catalina.realm.LockOutRealm</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>A <strong>Realm</strong> element represents a "database" of usernames,

+  passwords, and <em>roles</em> (similar to Unix <em>groups</em>) assigned

+  to those users.  Different implementations of Realm allow Catalina to be

+  integrated into environments where such authentication information is already

+  being created and maintained, and then utilize that information to implement

+  <em>Container Managed Security</em> as described in the Servlet

+  Specification.</p>

+

+  <p>You may nest a Realm inside any Catalina container

+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+  <a href="context.html">Context</a>).  In addition, Realms associated with

+  an Engine or a Host are automatically inherited by lower-level

+  containers, unless explicitly overridden.</p>

+

+  <p>For more in-depth information about container managed security in web

+  applications, as well as more information on configuring and using the 

+  standard realm component implementations, please see the 

+  <a href="../realm-howto.html">Container-Managed Security Guide</a>.

+  </p>

+

+    <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

+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,

+    the directory into which you have installed Tomcat 6.</p>

+    </em></blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Realm</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>org.apache.catalina.Realm</code> interface.</p>

+      </td></tr></table>

+

+    <p>Unlike most Catalina components, there are several standard

+    <strong>Realm</strong> implementations available.  As a result,

+    the <code>className</code> attribute MUST be used to select the

+    implementation you wish to use.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="JDBC Database Realm - org.apache.catalina.realm.JDBCRealm"><!--()--></a><a name="JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm"><strong>JDBC Database Realm - org.apache.catalina.realm.JDBCRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>JDBC Database Realm</strong> connects Catalina to

+    a relational database, accessed through an appropriate JDBC driver,

+    to perform lookups of usernames, passwords, and their associated

+    roles.  Because the lookup is done each time that it is required,

+    changes to the database will be immediately reflected in the

+    information used to authenticate new logins.</p>

+

+    <p>A rich set of additional attributes lets you configure the required

+    connection to the underlying database, as well as the table and

+    column names used to retrieve the required information:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+        <p>When this attribute has the value of <code>authOnly</code> or

+        <code>strictAuthOnly</code>, the <strong>roleNameCol</strong> and

+        <strong>userRoleTable</strong> attributes become optional. If those two

+        attributes are omitted, the user's roles will not be loaded by this

+        Realm.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>connectionName</code></strong></td><td align="left" valign="center">

+        <p>The database username to use when establishing the JDBC

+        connection.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>connectionPassword</code></strong></td><td align="left" valign="center">

+        <p>The database password to use when establishing the JDBC

+        connection.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>connectionURL</code></strong></td><td align="left" valign="center">

+        <p>The connection URL to be passed to the JDBC driver when

+        establishing a database connection.</p>

+      </td></tr><tr><td align="left" valign="center"><code>digest</code></td><td align="left" valign="center">

+        <p>The name of the <code>MessageDigest</code> algorithm used

+        to encode user passwords stored in the database.  If not specified,

+        user passwords are assumed to be stored in clear-text.</p>

+      </td></tr><tr><td align="left" valign="center"><code>digestEncoding</code></td><td align="left" valign="center">

+        <p>The charset for encoding digests.  If not specified, the platform

+        default will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>driverName</code></strong></td><td align="left" valign="center">

+        <p>Fully qualified Java class name of the JDBC driver to be

+        used to connect to the authentication database.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleNameCol</code></td><td align="left" valign="center">

+        <p>Name of the column, in the "user roles" table, which contains

+        a role name assigned to the corresponding user.</p>

+        <p>This attribute is <strong>required</strong> in majority of

+        configurations. See <strong>allRolesMode</strong> attribute for

+        a rare case when it can be omitted.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userCredCol</code></strong></td><td align="left" valign="center">

+        <p>Name of the column, in the "users" table, which contains

+        the user's credentials (i.e. password(.  If a value for the

+        <code>digest</code> attribute is specified, this component

+        will assume that the passwords have been encoded with the

+        specified algorithm.  Otherwise, they will be assumed to be

+        in clear text.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userNameCol</code></strong></td><td align="left" valign="center">

+        <p>Name of the column, in the "users" and "user roles" table,

+        that contains the user's username.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userRoleTable</code></td><td align="left" valign="center">

+        <p>Name of the "user roles" table, which must contain columns

+        named by the <code>userNameCol</code> and <code>roleNameCol</code>

+        attributes.</p>

+        <p>This attribute is <strong>required</strong> in majority of

+        configurations. See <strong>allRolesMode</strong> attribute for

+        a rare case when it can be omitted.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userTable</code></strong></td><td align="left" valign="center">

+        <p>Name of the "users" table, which must contain columns named

+        by the <code>userNameCol</code> and <code>userCredCol</code>

+        attributes.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more

+    information on setting up container managed security using the

+    JDBC Database Realm component.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="DataSource Database Realm - org.apache.catalina.realm.DataSourceRealm"><!--()--></a><a name="DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm"><strong>DataSource Database Realm - org.apache.catalina.realm.DataSourceRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>DataSource Database Realm</strong> connects Catalina to

+    a relational database, accessed through a JNDI named JDBC DataSource

+    to perform lookups of usernames, passwords, and their associated

+    roles.  Because the lookup is done each time that it is required,

+    changes to the database will be immediately reflected in the

+    information used to authenticate new logins.</p>

+

+    <p>The JDBC Realm uses a single db connection. This requires that

+    realm based authentication be synchronized, i.e. only one authentication

+    can be done at a time. This could be a bottleneck for applications

+    with high volumes of realm based authentications.</p>

+

+    <p>The DataSource Database Realm supports simultaneous realm based

+    authentications and allows the underlying JDBC DataSource to

+    handle optimizations like database connection pooling.</p>

+

+    <p>A rich set of additional attributes lets you configure the name

+    of the JNDI JDBC DataSource, as well as the table and

+    column names used to retrieve the required information:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+        <p>When this attribute has the value of <code>authOnly</code> or

+        <code>strictAuthOnly</code>, the <strong>roleNameCol</strong> and

+        <strong>userRoleTable</strong> attributes become optional. If those two

+        attributes are omitted, the user's roles will not be loaded by this

+        Realm.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>dataSourceName</code></strong></td><td align="left" valign="center">

+        <p>The name of the JNDI JDBC DataSource for this Realm.</p>

+      </td></tr><tr><td align="left" valign="center"><code>digest</code></td><td align="left" valign="center">

+        <p>The name of the <code>MessageDigest</code> algorithm used

+        to encode user passwords stored in the database.  If not specified,

+        user passwords are assumed to be stored in clear-text.</p>

+      </td></tr><tr><td align="left" valign="center"><code>localDataSource</code></td><td align="left" valign="center">

+        <p>When the realm is nested inside a Context element, this allows the 

+        realm to use a DataSource defined for the Context rather than a global

+        DataSource.  If not specified, the default is <code>false</code>: use a 

+        global DataSource.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleNameCol</code></td><td align="left" valign="center">

+        <p>Name of the column, in the "user roles" table, which contains

+        a role name assigned to the corresponding user.</p>

+        <p>This attribute is <strong>required</strong> in majority of

+        configurations. See <strong>allRolesMode</strong> attribute for

+        a rare case when it can be omitted.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userCredCol</code></strong></td><td align="left" valign="center">

+        <p>Name of the column, in the "users" table, which contains

+        the user's credentials (i.e. password(.  If a value for the

+        <code>digest</code> attribute is specified, this component

+        will assume that the passwords have been encoded with the

+        specified algorithm.  Otherwise, they will be assumed to be

+        in clear text.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userNameCol</code></strong></td><td align="left" valign="center">

+        <p>Name of the column, in the "users" and "user roles" table,

+        that contains the user's username.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userRoleTable</code></td><td align="left" valign="center">

+        <p>Name of the "user roles" table, which must contain columns

+        named by the <code>userNameCol</code> and <code>roleNameCol</code>

+        attributes.</p>

+        <p>This attribute is <strong>required</strong> in majority of

+        configurations. See <strong>allRolesMode</strong> attribute for

+        a rare case when it can be omitted.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userTable</code></strong></td><td align="left" valign="center">

+        <p>Name of the "users" table, which must contain columns named

+        by the <code>userNameCol</code> and <code>userCredCol</code>

+        attributes.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>See the <a href="../realm-howto.html#DataSourceRealm">

+    DataSource Realm HOW-TO</a> for more information on setting up container

+    managed security using the DataSource Database Realm component.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="JNDI Directory Realm - org.apache.catalina.realm.JNDIRealm"><!--()--></a><a name="JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm"><strong>JNDI Directory Realm - org.apache.catalina.realm.JNDIRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>JNDI Directory Realm</strong> connects Catalina to

+    an LDAP Directory, accessed through an appropriate JNDI driver,

+    that stores usernames, passwords, and their associated

+    roles. Changes to the directory are immediately reflected in the

+    information used to authenticate new logins.</p>

+

+

+    <p>The directory realm supports a variety of approaches to using

+    LDAP for authentication:</p>

+

+    <ul>

+    <li>The realm can either use a pattern to determine the

+    distinguished name (DN) of the user's directory entry, or search

+    the directory to locate that entry.

+    </li>

+

+    <li>The realm can authenticate the user either by binding to the

+    directory with the DN of the user's entry and the password

+    presented by the user, or by retrieving the password from the

+    user's entry and performing a comparison locally.

+    </li>

+

+    <li>Roles may be represented in the directory as explicit entries

+    found by a directory search (e.g. group entries of which the user

+    is a member), as the values of an attribute in the user's entry,

+    or both.

+    </li>

+    </ul>

+

+    <p> A rich set of additional attributes lets you configure the

+    required behaviour as well as the connection to the underlying

+    directory and the element and attribute names used to retrieve

+    information from the directory:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>adCompat</code></td><td align="left" valign="center">

+        <p>Microsoft Active Directory often returns referrals.

+        When iterating over NamingEnumerations these lead to

+        PartialResultExceptions. If you want us to ignore those exceptions,

+        set this attribute to "true". Unfortunately there's no stable way

+        to detect, if the Exceptions really come from an AD referral.

+        The default value is "false".</p>

+      </td></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr><tr><td align="left" valign="center"><code>alternateURL</code></td><td align="left" valign="center">

+        <p>If a socket connection can not be made to the provider at

+        the <code>connectionURL</code> an attempt will be made to use the

+        <code>alternateURL</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>authentication</code></td><td align="left" valign="center">

+        <p>A string specifying the type of authentication to use.

+        "none", "simple", "strong" or a provider specific definition

+        can be used. If no value is given the providers default is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>commonRole</code></td><td align="left" valign="center">

+        <p>A role name assigned to each successfully authenticated user in

+        addition to the roles retrieved from LDAP. If not specified, only

+        the roles retrieved via LDAP are used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>connectionName</code></td><td align="left" valign="center">

+        <p>The directory username to use when establishing a

+        connection to the directory for LDAP search operations. If not

+        specified an anonymous connection is made, which is often

+        sufficient unless you specify the <code>userPassword</code>

+        property.</p>

+      </td></tr><tr><td align="left" valign="center"><code>connectionPassword</code></td><td align="left" valign="center">

+        <p>The directory password to use when establishing a

+        connection to the directory for LDAP search operations. If not

+        specified an anonymous connection is made, which is often

+        sufficient unless you specify the <code>userPassword</code>

+        property.</p>

+      </td></tr><tr><td align="left" valign="center"><code>connectionTimeout</code></td><td align="left" valign="center">

+        <p>The timeout in milliseconds to use when establishing the connection

+        to the LDAP directory. If not specified, a value of 5000 (5 seconds) is

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>connectionURL</code></strong></td><td align="left" valign="center">

+        <p>The connection URL to be passed to the JNDI driver when

+        establishing a connection to the directory.</p>

+      </td></tr><tr><td align="left" valign="center"><code>contextFactory</code></td><td align="left" valign="center">

+        <p>Fully qualified Java class name of the factory class used

+        to acquire our JNDI <code>InitialContext</code>.  By default,

+        assumes that the standard JNDI LDAP provider will be utilized.</p>

+      </td></tr><tr><td align="left" valign="center"><code>derefAliases</code></td><td align="left" valign="center">

+        <p>A string specifying how aliases are to be dereferenced during

+        search operations. The allowed values are "always", "never",

+        "finding" and "searching". If not specified, "always" is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>digest</code></td><td align="left" valign="center">

+        <p>The digest algorithm to apply to the plaintext password offered

+        by the user before comparing it with the value retrieved from the

+        directory.  Valid values are those accepted for the algorithm name

+        by the <code>java.security.MessageDigest</code> class. If not

+        specified the plaintext password is assumed to be retrieved. Not

+        required unless <code>userPassword</code> is specified</p>

+      </td></tr><tr><td align="left" valign="center"><code>protocol</code></td><td align="left" valign="center">

+         <p>A string specifying the security protocol to use. If not given

+         the providers default is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>referrals</code></td><td align="left" valign="center">

+        <p>How do we handle JNDI referrals? Allowed values are

+        "ignore", "follow", or "throw"  (see javax.naming.Context.REFERRAL

+        for more information).

+        Microsoft Active Directory often returns referrals.

+        If you need to follow them set referrals to "follow".

+        Caution: if your DNS is not part of AD, the LDAP client lib might try

+        to resolve your domain name in DNS to find another LDAP server.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleBase</code></td><td align="left" valign="center">

+        <p>The base directory entry for performing role searches. If

+        not specified the top-level element in the directory context

+        will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleName</code></td><td align="left" valign="center">

+        <p>The name of the attribute that contains role names in the

+        directory entries found by a role search. In addition you can

+        use the <code>userRoleName</code> property to specify the name

+        of an attribute, in the user's entry, containing additional

+        role names.  If <code>roleName</code> is not specified a role

+        search does not take place, and roles are taken only from the

+        user's entry.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleSearch</code></td><td align="left" valign="center">

+        <p>The LDAP filter expression used for performing role

+        searches.  Use <code>{0}</code> to substitute the

+        distinguished name (DN) of the user, and/or <code>{1}</code> to

+        substitute the username. If not specified a role search does

+        not take place and roles are taken only from the attribute in

+        the user's entry specified by the <code>userRoleName</code>

+        property.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleSubtree</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want to search the entire

+        subtree of the element specified by the <code>roleBase</code>

+        property for role entries associated with the user. The

+        default value of <code>false</code> causes only the top level

+        to be searched.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userBase</code></td><td align="left" valign="center">

+        <p>The base element for user searches performed using the

+        <code>userSearch</code> expression.  Not used if you are using

+        the <code>userPattern</code> expression.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userPassword</code></td><td align="left" valign="center">

+        <p>Name of the attribute in the user's entry containing the

+        user's password.  If you specify this value, JNDIRealm will

+        bind to the directory using the values specified by

+        <code>connectionName</code> and

+        <code>connectionPassword</code> properties, and retrieve the

+        corresponding attribute for comparison to the value specified

+        by the user being authenticated.  If you do

+        <strong>not</strong> specify this value, JNDIRealm will

+        attempt a simple bind to the directory using the DN of the

+        user's entry and the password presented by the user, with a

+        successful bind being interpreted as an authenticated

+        user.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userPattern</code></td><td align="left" valign="center">

+        <p>Pattern for the distinguished name (DN) of the user's

+        directory entry, with <code>{0}</code> marking where the

+        actual username should be inserted. You can use this property

+        instead of <code>userSearch</code>, <code>userSubtree</code>

+        and <code>userBase</code> when the distinguished name contains

+        the username and is otherwise the same for all users.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userRoleName</code></td><td align="left" valign="center">

+        <p>The name of an attribute in the user's directory entry

+        containing zero or more values for the names of roles assigned

+        to this user.  In addition you can use the

+        <code>roleName</code> property to specify the name of an

+        attribute to be retrieved from individual role entries found

+        by searching the directory. If <code>userRoleName</code> is

+        not specified all the roles for a user derive from the role

+        search.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userSearch</code></td><td align="left" valign="center">

+        <p>The LDAP filter expression to use when searching for a

+        user's directory entry, with <code>{0}</code> marking where

+        the actual username should be inserted.  Use this property

+        (along with the <code>userBase</code> and

+        <code>userSubtree</code> properties) instead of

+        <code>userPattern</code> to search the directory for the

+        user's entry.</p>

+      </td></tr><tr><td align="left" valign="center"><code>userSubtree</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> if you want to search the entire

+        subtree of the element specified by the <code>userBase</code>

+        property for the user's entry. The default value of

+        <code>false</code> causes only the top level to be searched.

+        Not used if you are using the <code>userPattern</code>

+        expression.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more

+    information on setting up container managed security using the

+    JNDI Directory Realm component.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="UserDatabase Realm - org.apache.catalina.realm.UserDatabaseRealm"><!--()--></a><a name="UserDatabase_Realm_-_org.apache.catalina.realm.UserDatabaseRealm"><strong>UserDatabase Realm - org.apache.catalina.realm.UserDatabaseRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>UserDatabase Realm</strong> is a Realm implementation

+    that is based on a UserDatabase resource made available through the global

+    JNDI resources configured for this Tomcat instance.</p>

+

+    <p>The UserDatabase Realm implementation supports the following

+    additional attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>resourceName</code></strong></td><td align="left" valign="center">

+        <p>The name of the global <code>UserDatabase</code> resource

+        that this realm will use for user, password and role information.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>See the

+    <a href="../realm-howto.html">Container-Managed Security Guide</a> for more

+    information on setting up container managed security using the UserDatabase

+    Realm component and the

+    <a href="../jndi-resources-howto.html">JNDI resources how-to</a> for more

+    information on how to configure a UserDatabase resource.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Memory Based Realm - org.apache.catalina.realm.MemoryRealm"><!--()--></a><a name="Memory_Based_Realm_-_org.apache.catalina.realm.MemoryRealm"><strong>Memory Based Realm - org.apache.catalina.realm.MemoryRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Memory Based Realm</strong> is a simple Realm implementation

+    that reads user information from an XML format, and represents it as a

+    collection of Java objects in memory.  This implementation is intended

+    solely to get up and running with container managed security - it is NOT

+    intended for production use.  As such, there are no mechanisms for

+    updating the in-memory collection of users when the content of the

+    underlying data file is changed.</p>

+

+    <p>The Memory Based Realm implementation supports the following

+    additional attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr><tr><td align="left" valign="center"><code>digest</code></td><td align="left" valign="center">

+        <p>The digest algorithm used to store passwords in non-plaintext

+        formats. Valid values are those accepted for the algorithm name by the

+        <code>java.security.MessageDigest</code> class. If not specified,

+        passwords are stored in clear text.</p>

+      </td></tr><tr><td align="left" valign="center"><code>pathname</code></td><td align="left" valign="center">

+        <p>Absolute or relative (to $CATALINA_BASE) pathname to the XML file

+        containing our user information.  See below for details on the

+        XML element format required.  If no pathname is specified, the

+        default value is <code>conf/tomcat-users.xml</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>The XML document referenced by the <code>pathname</code> attribute must

+    conform to the following requirements:</p>

+    <ul>

+    <li>The root (outer) element must be <code>&lt;tomcat-users&gt;</code>.

+        </li>

+    <li>Each authorized user must be represented by a single XML element

+        <code>&lt;user&gt;</code>, nested inside the root element.</li>

+    <li>Each <code>&lt;user&gt;</code> element must have the following

+        attributes:

+        <ul>

+        <li><strong>name</strong> - Username of this user (must be unique

+            within this file).</li>

+        <li><strong>password</strong> - Password of this user (in

+            clear text).</li>

+        <li><strong>roles</strong> - Comma-delimited list of the role names

+            assigned to this user.</li>

+        </ul></li>

+    </ul>

+

+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more

+    information on setting up container managed security using the

+    Memory Based Realm component.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="JAAS Realm - org.apache.catalina.realm.JAASRealm"><!--()--></a><a name="JAAS_Realm_-_org.apache.catalina.realm.JAASRealm"><strong>JAAS Realm - org.apache.catalina.realm.JAASRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p><strong>JAASRealm</strong> is an implementation of the Tomcat 6

+    <code>Realm</code> interface that authenticates users through the Java

+    Authentication &amp; Authorization Service (JAAS) framework which is now

+    provided as part of the standard J2SE API.</p>

+

+    <p>Using JAASRealm gives the developer the ability to combine practically

+    any conceivable security realm with Tomcat's CMA.</p>

+

+    <p>JAASRealm is prototype for Tomcat of the JAAS-based J2EE authentication

+    framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification Request

+    196</a> to enhance container-managed security and promote 'pluggable'

+    authentication mechanisms whose implementations would be

+    container-independent.</p>

+

+    <p>Based on the JAAS login module and principal

+    (see <code>javax.security.auth.spi.LoginModule</code> and

+    <code>javax.security.Principal</code>), you can develop your own security

+    mechanism or wrap another third-party mechanism for integration with the CMA

+    as implemented by Tomcat.</p>

+

+    <p>The JAAS Realm implementation supports the following additional

+    attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>appName</code></strong></td><td align="left" valign="center">

+       <p>The name of the application as configured in your login configuration

+       file 

+       (<a href="http://docs.oracle.com/javase/1.4.2/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>userClassNames</code></strong></td><td align="left" valign="center">

+        <p>A comma-separated list of the names of the classes that you have made 

+        for your user <code>Principals</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>roleClassNames</code></td><td align="left" valign="center">

+        <p>A comma-separated list of the names of the classes that you have made 

+        for your role <code>Principals</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>useContextClassLoader</code></td><td align="left" valign="center">

+        <p>Instructs JAASRealm to use the context class loader for loading the

+        user-specified <code>LoginModule</code> class and associated

+        <code>Principal</code> classes. The default value is <code>true</code>,

+        which is backwards-compatible with the way Tomcat 5 works. To load

+        classes using the container's classloader, specify

+        <code>false</code>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>X509UsernameRetrieverClassName</code></td><td align="left" valign="center">

+        <p>When using X509 client certificates, this specifies the class name

+        that will be used to retrieve the user name from the certificate.

+        The class must implement the

+        <code>org.apache.catalina.realm.X509UsernameRetriever</code>

+        interface. The default is to use the certificate's SubjectDN

+        as the username.</p>

+      </td></tr></table>

+

+    <p>See the <a href="../realm-howto.html">Container-Managed Security

+    Guide</a> for more information on setting up container managed security

+    using the JAAS Realm component.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Combined Realm - org.apache.catalina.realm.CombinedRealm"><!--()--></a><a name="Combined_Realm_-_org.apache.catalina.realm.CombinedRealm"><strong>Combined Realm - org.apache.catalina.realm.CombinedRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p><strong>CombinedRealm</strong> is an implementation of the Tomcat 6

+    <code>Realm</code> interface that authenticates users through one or more

+    sub-Realms.</p>

+

+    <p>Using CombinedRealm gives the developer the ability to combine multiple

+    Realms of the same or different types. This can be used to authenticate

+    against different sources, provide fall back in case one Realm fails or for

+    any other purpose that requires multiple Realms.</p>

+

+    <p>Sub-realms are defined by nesting <code>Realm</code> elements inside the

+    <code>Realm</code> element that defines the CombinedRealm. Authentication

+    will be attempted against each <code>Realm</code> in the order they are

+    listed. Authentication against any Realm will be sufficient to authenticate

+    the user.</p>

+    

+    <p>See the <a href="../realm-howto.html">Container-Managed Security

+    Guide</a> for more information on setting up container managed security

+    using the CombinedRealm component.</p>

+

+    <p>The CombinedRealm implementation supports the following additional

+    attributes.</p>

+    

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr></table>

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="LockOut Realm - org.apache.catalina.realm.LockOutRealm"><!--()--></a><a name="LockOut_Realm_-_org.apache.catalina.realm.LockOutRealm"><strong>LockOut Realm - org.apache.catalina.realm.LockOutRealm</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p><strong>LockOutRealm</strong> is an implementation of the Tomcat 6

+    <code>Realm</code> interface that extends the CombinedRealm to provide lock

+    out functionality to provide a user lock out mechanism if there are too many

+    failed authentication attempts in a given period of time.</p>

+    

+    <p>To ensure correct operation, there is a reasonable degree of

+    synchronization in this Realm.</p>

+    

+    <p>This Realm does not require modification to the underlying Realms or the

+    associated user storage mechanisms. It achieves this by recording all failed

+    logins, including those for users that do not exist. To prevent a DOS by

+    deliberating making requests with invalid users (and hence causing this

+    cache to grow) the size of the list of users that have failed authentication

+    is limited.</p>

+

+    <p>Sub-realms are defined by nesting <code>Realm</code> elements inside the

+    <code>Realm</code> element that defines the LockOutRealm. Authentication

+    will be attempted against each <code>Realm</code> in the order they are

+    listed. Authentication against any Realm will be sufficient to authenticate

+    the user.</p>

+

+    <p>The LockOutRealm implementation supports the following additional

+    attributes.</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>allRolesMode</code></td><td align="left" valign="center">

+        <p>This attribute controls how the special role name <code>*</code> is

+        handled when processing authorization constraints in web.xml. By

+        default, the specification compliant value of <code>strict</code> is

+        used which means that the user must be assigned one of the roles defined

+        in web.xml. The alternative values are <code>authOnly</code> which means

+        that the user must be authenticated but no check is made for assigned

+        roles and <code>strictAuthOnly</code> which means that the user must be

+        authenticated and no check will be made for assigned roles unless roles

+        are defined in web.xml in which case the user must be assigned at least

+        one of those roles.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cacheRemovalWarningTime</code></td><td align="left" valign="center">

+       <p>If a failed user is removed from the cache because the cache is too

+       big before it has been in the cache for at least this period of time (in

+       seconds) a warning message will be logged. Defaults to 3600 (1 hour).</p>

+      </td></tr><tr><td align="left" valign="center"><code>cacheSize</code></td><td align="left" valign="center">

+       <p>Number of users that have failed authentication to keep in cache. Over

+       time the cache will grow to this size and may not shrink. Defaults to

+       1000.</p>

+      </td></tr><tr><td align="left" valign="center"><code>failureCount</code></td><td align="left" valign="center">

+       <p>The number of times in a row a user has to fail authentication to be

+       locked out. Defaults to 5.</p>

+      </td></tr><tr><td align="left" valign="center"><code>lockOutTime</code></td><td align="left" valign="center">

+       <p>The time (in seconds) a user is locked out for after too many

+       authentication failures. Defaults to 300 (5 minutes).</p>

+      </td></tr></table>

+

+    <p>See the <a href="../realm-howto.html">Container-Managed Security

+    Guide</a> for more information on setting up container managed security

+    using the LockOutRealm component.</p>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <h3>CombinedRealm Implementation</h3>

+

+  <p>If you are using the <em>CombinedRealm Implementation</em> or a Realm

+  that extends the CombinedRealm, e.g. the LockOutRealm,

+  <strong>&lt;Realm&gt;</strong> elements may be nested inside it.</p>

+

+  <h3>Other Realm Implementations</h3>

+  

+  <p>No other Realm implementation supports nested components.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>See <a href="host.html">Single Sign On</a> for information about

+  configuring Single Sign On support for a virtual host.</p>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/resources.html b/tomcat-uid/webapps/docs/config/resources.html
new file mode 100644
index 0000000..bf8c9ce
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/resources.html
@@ -0,0 +1,74 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Resources Component</title><meta name="author" content="Remy Maucherat"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Resources Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The <strong>Resources</strong> element represents the <em>web

+  application static resources</em>, from which classes will be loaded, 

+  HTML, JSP and the other static files will be served. This allows the webapp

+  to reside on various mediums other than the filesystem, like compressed

+  in a WAR file, in a JDBC database, or in a more advanced versioning

+  repository.</p>

+

+  <p>A unified caching engine is provided for all accesses to the webapp

+  resources made by the servlet container and web applications which use the

+  container provided mechanisms to access such resources, such as classloader

+  access, access through the <code>ServletContext</code> interface, or native

+  access through the <code>DirectoryContext</code> interface.</p>

+

+  <p><strong>Note: Running a webapp with non-filesystem based 

+  Resources implementations is only possible when the webapp does not 

+  rely on direct filesystem access to its own resources, and uses the methods

+  in the ServletContext interface to access them.</strong></p>

+

+  <p>A Resources element MAY be nested inside a 

+  <a href="context.html">Context</a> component.  If it is not included, 

+  a default filesystem based Resources will be created automatically, 

+  which is sufficient for most requirements.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>All implementations of <strong>Resources</strong>

+    support the following attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This class must

+        implement the <code>javax.naming.directory.DirContext</code> interface.

+        It is recommended for optimal functionality and performance, 

+        but not mandatory, that the class extend 

+        <code>org.apache.naming.resources.BaseDirContext</code>, as well as

+        use the special object types provided in the 

+        <code>org.apache.naming.resources</code> for returned objects.

+        If not specified, the standard value (defined below) will be used.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The standard implementation of <strong>Resources</strong> is

+    <strong>org.apache.naming.resources.FileDirContext</strong>, and 

+    is configured by its parent Context element.</p>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>No components may be nested inside a <strong>Resources</strong> element.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>No special features are associated with a <strong>Resources</strong>

+  element.</p>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/server.html b/tomcat-uid/webapps/docs/config/server.html
new file mode 100644
index 0000000..dc55b96
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/server.html
@@ -0,0 +1,74 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Server Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Server Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>A <strong>Server</strong> element represents the entire Catalina

+  servlet container.  Therefore, it must be the single outermost element

+  in the <code>conf/server.xml</code> configuration file.  Its attributes

+  represent the characteristics of the servlet container as a whole.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>All implementations of <strong>Server</strong>

+  support the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+      <p>Java class name of the implementation to use.  This class must

+      implement the <code>org.apache.catalina.Server</code> interface.

+      If no class name is specified, the standard implementation will

+      be used.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">

+      <p>The TCP/IP port number on which this server waits for a shutdown

+      command.  This connection must be initiated from the same server

+      computer that is running this instance of Tomcat. Set to <code>-1</code>

+      to disable the shutdown port.</p>

+      <p>Note: Disabling the shutdown port works well when Tomcat is started

+      using <a href="http://commons.apache.org/daemon/">Apache Commons Daemon</a>

+      (running as a service on Windows or with jsvc on un*xes). It cannot be

+      used when running Tomcat with the standard shell scripts though, as it

+      will prevent shutdown.bat|.sh and catalina.bat|.sh from stopping it

+      gracefully.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>shutdown</code></strong></td><td align="left" valign="center">

+      <p>The command string that must be received via a TCP/IP connection

+      to the specified port number, in order to shut down Tomcat.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The standard implementation of <strong>Server</strong> is

+  <strong>org.apache.catalina.core.StandardServer</strong>.

+  It supports the following additional attributes (in addition to the

+  common attributes listed above):</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The following components may be nested inside a <strong>Server</strong>

+  element:</p>

+  <ul>

+  <li><a href="service.html"><strong>Service</strong></a> - 

+      One or more service element.</li>

+  <li><a href="globalresources.html"><strong>GlobalNamingResources</strong></a> - 

+      Configure the JNDI global resources for the server.</li>

+  </ul>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>There are no special features associated with a <strong>Server</strong>.

+  </p>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/service.html b/tomcat-uid/webapps/docs/config/service.html
new file mode 100644
index 0000000..d7a2f42
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/service.html
@@ -0,0 +1,62 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Service Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Service Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>A <strong>Service</strong> element represents the combination of one or

+  more <strong>Connector</strong> components that share a single

+  <a href="engine.html">Engine</a> component for processing incoming

+  requests.  One or more <strong>Service</strong> elements may be nested

+  inside a <a href="server.html">Server</a> element.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>All implementations of <strong>Service</strong>

+  support the following attributes:</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>className</code></td><td align="left" valign="center">

+      <p>Java class name of the implementation to use.  This class must

+      implement the <code>org.apache.catalina.Service</code> interface.

+      If no class name is specified, the standard implementation will

+      be used.</p>

+    </td></tr><tr><td align="left" valign="center"><strong><code>name</code></strong></td><td align="left" valign="center">

+      <p>The display name of this <strong>Service</strong>, which will

+      be included in log messages if you utilize standard Catalina

+      components.  The name of each <strong>Service</strong> that is

+      associated with a particular <a href="server.html">Server</a>

+      must be unique.</p>

+    </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The standard implementation of <strong>Service</strong> is

+  <strong>org.apache.catalina.core.StandardService</strong>.

+  It supports the following additional attributes (in addition to the

+  common attributes listed above):</p>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>The only components that may be nested inside a <strong>Service</strong>

+  element are one or more <strong>Connector</strong> elements,

+  followed by exactly one <a href="engine.html">Engine</a> element.</p>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>There are no special features associated with a <strong>Service</strong>.

+  </p>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/systemprops.html b/tomcat-uid/webapps/docs/config/systemprops.html
new file mode 100644
index 0000000..55eeaa8
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/systemprops.html
@@ -0,0 +1,345 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - System Properties</title><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>System Properties</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Clustering">Clustering</a></li><li><a href="#Expression_Language">Expression Language</a></li><li><a href="#Jasper">Jasper</a></li><li><a href="#Security">Security</a></li><li><a href="#Specification">Specification</a></li><li><a href="#Sessions">Sessions</a></li><li><a href="#Logging">Logging</a></li><li><a href="#Other">Other</a></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  <p>The following sections list the system properties that may be set to modify

+  the default Tomcat behaviour.</p>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Clustering"><strong>Clustering</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.catalina. tribes.dns_lookups</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the clustering module will attempt to use DNS to

+      resolve any host names provided in the cluster configuration.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Expression Language"><!--()--></a><a name="Expression_Language"><strong>Expression Language</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.el.BeanELResolver. CACHE_SIZE</code></td><td align="left" valign="center">

+      <p>The number of javax.el.BeanELResolver.BeanProperties objects that will

+      be cached by the EL Parser.</p>

+      <p>If not specified, the default of <code>1000</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.el.ExpressionBuilder. CACHE_SIZE</code></td><td align="left" valign="center">

+      <p>The number of parsed EL expressions that will be cached by the EL

+      Parser.</p>

+      <p>If not specified, the default of <code>5000</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.el.parser. COERCE_TO_ZERO</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, when coercing EL expressions to numbers

+      <code>""</code> and <code>null</code> will be coerced to zero as required

+      by the specification.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.el.parser. SKIP_IDENTIFIER_CHECK</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, when parsing EL expressions, identifiers will not be

+      checked to ensure that they conform to the Java Language Specification for

+      Java identifiers.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.</p>

+    </td></tr></table>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.jasper.compiler. Generator.POOL_TAGS_WITH_EXTENDS</code></td><td align="left" valign="center">

+      <p>By default, JSPs that use their own base class via the extends

+      attribute of the page directive, will have Tag pooling disabled since

+      Jasper cannot guarantee that the necessary initialisation will have taken

+      place. This can have a negative impact on performance. Providing the

+      alternative base class calls _jspInit() from Servlet.init(), setting  this

+      property to <code>true</code> will enable pooling with an alternative base

+      class. If the alternative base class does not call _jspInit() and this

+      property is <code>true</code>, NPEs will occur when attempting to use

+      tags.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.compiler. Generator.VAR_EXPRESSIONFACTORY</code></td><td align="left" valign="center">

+      <p>The name of the variable to use for the expression language expression

+      factory.</p>

+      <p>If not specified, the default value of <code>_el_expressionfactory</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.compiler. Generator.VAR_INSTANCEMANAGER</code></td><td align="left" valign="center">

+      <p>The name of the variable to use for the instance manager factory.</p>

+      <p>If not specified, the default value of <code>_jsp_instancemanager</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.compiler. Generator.STRICT_GET_PROPERTY</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the requirement to have the object referenced in

+      <code>jsp:getProperty</code> action to be previously "introduced"

+      to the JSP processor, as specified in the chapter JSP.5.3 of JSP 2.0 and

+      later specifications, is enforced.</p>

+      <p>If not specified, the specification compliant default of <code>true</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING</code></td><td align="left" valign="center">

+      <p>If <code>false</code> the requirements for escaping quotes in JSP

+      attributes will be relaxed so that an unescaped quote will not

+      cause an error.</p>

+      <p>If not specified, the specification compliant default of

+      <code>true</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, any tag buffer that expands beyond

+      <code>org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE</code> will be

+      destroyed and a new buffer created of the default size.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.runtime. JspFactoryImpl.USE_POOL</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, a ThreadLocal <code>PageContext</code> pool will

+      be used.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.runtime. JspFactoryImpl.POOL_SIZE</code></td><td align="left" valign="center">

+      <p>The size of the ThreadLocal <code>PageContext</code>.</p>

+      <p>If not specified, the default value of <code>8</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. JSP_SERVLET_BASE</code></td><td align="left" valign="center">

+      <p>The base class of the Servlets generated from the JSPs.</p>

+      <p>If not specified, the default value of

+      <code>org.apache.jasper.runtime.HttpJspBase</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. SERVICE_METHOD_NAME</code></td><td align="left" valign="center">

+      <p>The name of the service method called by the base class.</p>

+      <p>If not specified, the default value of <code>_jspService</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. SERVLET_CLASSPATH</code></td><td align="left" valign="center">

+      <p>The name of the ServletContext attribute that provides the classpath

+      for the JSP.</p>

+      <p>If not specified, the default value of

+      <code>org.apache.catalina.jsp_classpath</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. JSP_FILE</code></td><td align="left" valign="center">

+      <p>The name of the request attribute for <code>&lt;jsp-file&gt;</code>

+      element of a servlet definition. If present on a request, this overrides

+      the value returned by <code>request.getServletPath()</code> to select the

+      JSP page to be executed.</p>

+      <p>If not specified, the default value of

+      <code>org.apache.catalina.jsp_file</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. PRECOMPILE</code></td><td align="left" valign="center">

+      <p>The name of the query parameter that causes the JSP engine to just

+      pregenerate the servlet but not invoke it.</p>

+      <p>If not specified, the default value of <code>jsp_precompile</code>

+      will be used, as defined by JSP specification (JSP.11.4.2).</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. JSP_PACKAGE_NAME</code></td><td align="left" valign="center">

+      <p>The default package name for compiled jsp pages.</p>

+      <p>If not specified, the default value of <code>org.apache.jsp</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. TAG_FILE_PACKAGE_NAME</code></td><td align="left" valign="center">

+      <p>The default package name for tag handlers generated from tag files.</p>

+      <p>If not specified, the default value of <code>org.apache.jsp.tag</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. ALT_DD_ATTR</code></td><td align="left" valign="center">

+      <p>The servlet context attribute under which the alternate deployment

+      descriptor for this web application is stored.</p>

+      <p>If not specified, the

+      default value of <code>org.apache.catalina.deploy.alt_dd</code> will

+      be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. TEMP_VARIABLE_NAME_PREFIX</code></td><td align="left" valign="center">

+      <p>Prefix to use for generated temporary variable names.</p>

+      <p>If not specified,

+      the default value of <code>_jspx_temp</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.jasper.Constants. USE_INSTANCE_MANAGER_FOR_TAGS</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the instance manager is used to obtain tag

+      handler instances.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Security"><strong>Security</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.catalina.connector. RECYCLE_FACADES</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> or if a security manager is in use a new

+      facade object will be created for each request.</p>

+      <p>If not specified, the

+      default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> the '\' character will be permitted as a

+      path delimiter.</p>

+      <p>If not specified, the default value of <code>false</code>

+      will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> '%2F' and '%5C' will be permitted as path

+      delimiters.</p>

+      <p>If not specified, the default value of <code>false</code> will

+      be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER</code></td><td align="left" valign="center"><p>If this is

+      <code>true</code>, custom HTTP status messages will be used within HTTP

+      headers. If a custom message is specified that is not valid for use in an

+      HTTP header (as defined by RFC2616) then the custom message will be

+      ignored and the default message used.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Specification"><strong>Specification</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.catalina. STRICT_SERVLET_COMPLIANCE</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> the following actions will occur:

+      <ul>

+      <li>any wrapped request or response object passed to an application

+      dispatcher will be checked to ensure that it has wrapped the original

+      request or response. (SRV.8.2 / SRV.14.2.5.1)

+      </li>

+      <li>a call to <code>Response.getWriter()</code> if no character encoding

+      has been specified will result in subsequent calls to

+      <code>Response.getCharacterEncoding()</code> returning

+      <code>ISO-8859-1</code> and the <code>Content-Type</code> response header

+      will include a <code>charset=ISO-8859-1</code> component. (SRV.15.2.22.1)

+      </li>

+      <li>every request that is associated with a session will cause the

+      session's last accessed time to be updated regardless of whether or not

+      the request explicitly accesses the session. (SRV.7.6)  

+      </li>

+      <li>

+        cookies will be parsed strictly, by default v0 cookies will not work with any invalid characters.

+        <br>If set to <code>false</code>, any v0 cookie with invalid character

+        will be switched to a v1 cookie and the value will be quoted.

+      </li>

+      <li>

+        the path in <code>ServletContext.getResource</code> /

+        <code>getResourceAsStream</code> calls must start with a "/".<br>

+        If set to <code>false</code>, code like <code>getResource("myfolder/myresource.txt")</code> will work.

+      </li>

+      </ul>

+      </p>

+      <p>If this is <code>true</code> the default value will be changed for:

+      <ul>

+      <li><code>org.apache.catalina.connector.Request. ALLOW_EMPTY_QUERY_STRING</code> property</li>

+      <li>The <code>webXmlValidation</code> attribute of any

+          <a href="context.html">Context</a> element.</li>

+      <li>The <code>webXmlNamespaceAware</code> attribute of any

+          <a href="context.html">Context</a> element.</li>

+      <li>The <code>tldValidation</code> attribute of any

+          <a href="context.html">Context</a> element.</li>

+      </ul>

+      </p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.connector. Request.ALLOW_EMPTY_QUERY_STRING</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> Tomcat will return an empty string rather

+      than <code>null</code> for empty query strings - i.e. query strings where

+      only <code>?</code> is present.</p>

+      <p>If not specified, the value of

+      <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> will be used as

+      the default.</p> 

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.session. StandardSession.ACTIVITY_CHECK</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> or if

+      <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> is

+      <code>true</code> Tomcat will track the number of active requests for each

+      session. When determining if a session is valid, any session with at least

+      one active request will always be considered valid.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.tomcat.util.http. ServerCookie.ALLOW_EQUALS_IN_VALUE</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> Tomcat will allow '<code>=</code>'

+      characters when parsing unquoted cookie values. If <code>false</code>,

+      cookie values containing '<code>=</code>' will be terminated when the

+      '<code>=</code>' is encountered and the remainder of the cookie value will

+      be dropped.</p>

+      <p>If not specified, the default specification compliant value of

+      <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.tomcat.util.http. ServerCookie.ALWAYS_ADD_EXPIRES</code></td><td align="left" valign="center">

+      <p>If this is <code>true</code> Tomcat will always add an expires

+      parameter to a SetCookie header even for cookies with version greater than

+      zero. This is to work around a known IE6 and IE7 bug that causes IE to

+      ignore the Max-Age parameter in a SetCookie header.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Sessions"><strong>Sessions</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.catalina.SESSION_COOKIE_NAME</code></td><td align="left" valign="center">

+      <p>An alternative name for the session cookie. Defaults to

+      <code>JSESSIONID</code>. Note that the Servlet specification requires

+      this to be <code>JSESSIONID</code>. You should not rely on being able to

+      change this.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.SESSION_PARAMETER_NAME</code></td><td align="left" valign="center">

+      <p>An alternative name for the session path parameter. Defaults to

+      <code>jsessionid</code>. Note that the Servlet specification requires

+      this to be <code>jsessionid</code>. You should not rely on being able to

+      change this.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.authenticator.                      Constants.SSO_SESSION_COOKIE_NAME</code></td><td align="left" valign="center">

+      <p>An alternative name for the single sign on session cookie. Defaults to

+      <code>JSESSIONIDSSO</code>.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.juli.logging. UserDataHelper.CONFIG</code></td><td align="left" valign="center">

+      <p>The type of logging to use for errors generated by invalid input data.

+         The options are: <code>DEBUG_ALL</code>, <code>INFO_THEN_DEBUG</code>,

+         <code>INFO_ALL</code> and <code>NONE</code>. When

+         <code>INFO_THEN_DEBUG</code> is used, the period for which errors are

+         logged at DEBUG rather than INFO is controlled by the system property

+         <code>org.apache.juli.logging.UserDataHelper.SUPPRESSION_TIME</code>.

+         </p>

+      <p>The default value is <code>INFO_THEN_DEBUG</code>.</p>

+      <p>The errors currently logged using this system are:

+         <ul>

+         <li>invalid parameters.</li>

+         </ul>

+         Other errors triggered by invalid input data may be added to this

+         system in later versions.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.juli.logging. UserDataHelper.SUPPRESSION_TIME</code></td><td align="left" valign="center">

+      <p>When using <code>INFO_THEN_DEBUG</code> for

+         <code>org.apache.juli.logging.UserDataHelper.CONFIG</code> this system

+         property controls how long messages are logged at DEBUG after a message

+         has been logged at INFO. Once this period has elapsed, the next message

+         will be logged at INFO followed by a new suppression period where

+         messages are logged at DEBUG and so on. The value is measured

+         in seconds.</p>

+      <p>A value of <code>0</code> is equivalent to using <code>INFO_ALL</code>

+         for <code>org.apache.juli.logging.UserDataHelper.CONFIG</code>.</p>

+      <p>A negative value means an infinite suppression period.</p>

+      <p>The default value is <code>86400</code> (24 hours).</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Property</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>org.apache.coyote.MAX_EXTENSION_SIZE</code></td><td align="left" valign="center">

+      <p>Limits the total length of extension data when using chunked encoding.

+      If the value is <code>-1</code>, no limit will be imposed.</p>

+      <p>If not specified, the default value of <code>8192</code> will be

+      used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.coyote.MAX_TRAILER_SIZE</code></td><td align="left" valign="center">

+      <p>Limits the total length of trailing headers in the last chunk of

+      a chunked HTTP request.

+      If the value is <code>-1</code>, no limit will be imposed.</p>

+      <p>If not specified, the default value of <code>8192</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>catalina.useNaming</code></td><td align="left" valign="center">

+      <p>If this is <code>false</code> it will override the

+      <code>useNaming</code> attribute for all <a href="context.html">

+      Context</a> elements.</p>

+    </td></tr><tr><td align="left" valign="center"><code>jvmRoute</code></td><td align="left" valign="center">

+      <p>Provides a default value for the <code>jvmRoute</code> attribute of the

+      <a href="engine.html">Engine</a> element. It does not override the value

+      configured on the <a href="engine.html">Engine</a> element.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.loader. WebappClassLoader.ENABLE_CLEAR_REFERENCES</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, Tomcat attempts to null out any static or final

+      fields from loaded classes when a web application is stopped as a work

+      around for apparent garbage collection bugs and application coding errors.

+      </p>

+      <p>There have been some issues reported with log4j when this option is

+      <code>true</code>.</p>

+      <p>Applications without memory leaks using recent JVMs should operate

+      correctly with this option set to <code>false</code>.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.

+      </p>

+    </td></tr><tr><td align="left" valign="center"><code>catalina.config</code></td><td align="left" valign="center">

+      <p>The URL for the catalina.properties configuration file.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcat.util.buf.StringCache.byte.enabled</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the String cache is enabled for

+      <code>ByteChunk</code>.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcat.util.buf.StringCache.char.enabled</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the String cache is enabled for

+      <code>CharChunk</code>.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcat.util.buf.StringCache.trainThreshold</code></td><td align="left" valign="center">

+      <p>The number of times <code>toString()</code> must be called before the

+      cache is activated.</p>

+      <p>If not specified, the default value of <code>20000</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcat.util.buf.StringCache.cacheSize</code></td><td align="left" valign="center">

+      <p>The size of the String cache.</p>

+      <p>If not specified, the default value of <code>200</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>tomcat.util.buf.StringCache.maxStringSize</code></td><td align="left" valign="center">

+      <p>The maximum length of String that will be cached.</p>

+      <p>If not specified, the default value of <code>128</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.tomcat.util. http.FastHttpDateFormat.CACHE_SIZE</code></td><td align="left" valign="center">

+      <p>The size of the cache to use parsed and formatted date value.</p>

+      <p>If not specified, the default value of <code>1000</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.tomcat.util. net.NioSelectorShared</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, use a shared selector for servlet write/read.</p>

+      <p>If not specified, the default value of <code>true</code> will be used.</p>

+    </td></tr><tr><td align="left" valign="center"><code>org.apache.catalina.startup. EXIT_ON_INIT_FAILURE</code></td><td align="left" valign="center">

+      <p>If <code>true</code>, the server will exit if an exception happens

+         during the server initialization phase.</p>

+      <p>If not specified, the default value of <code>false</code> will be used.</p>

+    </td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/tomcat-uid/webapps/docs/config/valve.html b/tomcat-uid/webapps/docs/config/valve.html
new file mode 100644
index 0000000..8dbdf0f
--- /dev/null
+++ b/tomcat-uid/webapps/docs/config/valve.html
@@ -0,0 +1,753 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Valve Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print">

+			.noPrint {display: none;}

+			td#mainBody {width: 100%;}

+		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="

+    The Apache Tomcat Servlet/JSP Container

+  " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Valve Component</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Access_Log_Valve">Access Log Valve</a><ol><li><a href="#Access_Log_Valve/Introduction">Introduction</a></li><li><a href="#Access_Log_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Remote_Address_Filter">Remote Address Filter</a><ol><li><a href="#Remote_Address_Filter/Introduction">Introduction</a></li><li><a href="#Remote_Address_Filter/Attributes">Attributes</a></li></ol></li><li><a href="#Remote_Host_Filter">Remote Host Filter</a><ol><li><a href="#Remote_Host_Filter/Introduction">Introduction</a></li><li><a href="#Remote_Host_Filter/Attributes">Attributes</a></li></ol></li><li><a href="#Request_Dumper_Valve">Request Dumper Valve</a><ol><li><a href="#Request_Dumper_Valve/Introduction">Introduction</a></li><li><a href="#Request_Dumper_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Single_Sign_On_Valve">Single Sign On Valve</a><ol><li><a href="#Single_Sign_On_Valve/Introduction">Introduction</a></li><li><a href="#Single_Sign_On_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Basic_Authenticator_Valve">Basic Authenticator Valve</a><ol><li><a href="#Basic_Authenticator_Valve/Introduction">Introduction</a></li><li><a href="#Basic_Authenticator_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Digest_Authenticator_Valve">Digest Authenticator Valve</a><ol><li><a href="#Digest_Authenticator_Valve/Introduction">Introduction</a></li><li><a href="#Digest_Authenticator_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Form_Authenticator_Valve">Form Authenticator Valve</a><ol><li><a href="#Form_Authenticator_Valve/Introduction">Introduction</a></li><li><a href="#Form_Authenticator_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#SSL_Authenticator_Valve">SSL Authenticator Valve</a><ol><li><a href="#SSL_Authenticator_Valve/Introduction">Introduction</a></li><li><a href="#SSL_Authenticator_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#WebDAV_Fix_Valve">WebDAV Fix Valve</a><ol><li><a href="#WebDAV_Fix_Valve/Introduction">Introduction</a></li><li><a href="#WebDAV_Fix_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Remote_IP_Valve">Remote IP Valve</a><ol><li><a href="#Remote_IP_Valve/Introduction">Introduction</a></li><li><a href="#Remote_IP_Valve/Attributes">Attributes</a></li></ol></li><li><a href="#Stuck_Thread_Detection_Valve">Stuck Thread Detection Valve</a><ol><li><a href="#Stuck_Thread_Detection_Valve/Introduction">Introduction</a></li><li><a href="#Stuck_Thread_Detection_Valve/Attributes">Attributes</a></li></ol></li></ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+  <p>A <strong>Valve</strong> element represents a component that will be

+  inserted into the request processing pipeline for the associated

+  Catalina container (<a href="engine.html">Engine</a>,

+  <a href="host.html">Host</a>, or <a href="context.html">Context</a>).

+  Individual Valves have distinct processing capabilities, and are

+  described individually below.</p>

+

+    <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

+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,

+    the directory into which you have installed Tomcat 6.</p>

+    </em></blockquote>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Log Valve"><!--()--></a><a name="Access_Log_Valve"><strong>Access Log Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Log Valve/Introduction"><!--()--></a><a name="Access_Log_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Access Log Valve</strong> creates log files in the same

+    format as those created by standard web servers.  These logs can later

+    be analyzed by standard log analysis tools to track page hit counts,

+    user session activity, and so on.  The files produces by this <code>Valve</code>

+    are rolled over nightly at midnight.  This <code>Valve</code>

+    may be associated with any Catalina container (<code>Context</code>,

+    <code>Host</code>, or <code>Engine</code>), and

+    will record ALL requests processed by that container.</p>

+

+    <p>Some requests may be handled by Tomcat before they are passed to a

+    container. These include redirects from /foo to /foo/ and the rejection of

+    invalid requests. Where Tomcat can identify the <code>Context</code> that

+    would have handled the request, the request/response will be logged in the 

+    <code>AccessLog</code>(s) associated <code>Context</code>, <code>Host</code>

+    and <code>Engine</code>. Where Tomcat cannot identify the

+    <code>Context</code> that would have handled the request, e.g. in cases

+    where the URL is invalid, Tomcat will look first in the <code>Engine</code>,

+    then the default <code>Host</code> for the <code>Engine</code> and finally

+    the ROOT (or default) <code>Context</code> for the default <code>Host</code>

+    for an <code>AccessLog</code> implementation. Tomcat will use the first

+    <code>AccessLog</code> implementation found to log those requests that are

+    rejected before they are passed to a container.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Log Valve/Attributes"><!--()--></a><a name="Access_Log_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Access Log Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the

+        default access log valve.</p>

+      </td></tr><tr><td align="left" valign="center"><code>directory</code></td><td align="left" valign="center">

+        <p>Absolute or relative pathname of a directory in which log files

+        created by this valve will be placed.  If a relative path is

+        specified, it is interpreted as relative to $CATALINA_BASE.  If

+        no directory attribute is specified, the default value is "logs"

+        (relative to $CATALINA_BASE).</p>

+      </td></tr><tr><td align="left" valign="center"><code>encoding</code></td><td align="left" valign="center">

+        <p>Character set used to write the log file. An empty string means

+        to use the system default character set. Default value: use the

+        system default character set.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>pattern</code></td><td align="left" valign="center">

+        <p>A formatting layout identifying the various information fields

+        from the request and response to be logged, or the word

+        <code>common</code> or <code>combined</code> to select a

+        standard format.  See below for more information on configuring

+        this attribute. Note that the optimized access does only support

+        <code>common</code> and <code>combined</code> as the value for this

+        attribute.</p>

+      </td></tr><tr><td align="left" valign="center"><code>prefix</code></td><td align="left" valign="center">

+        <p>The prefix added to the start of each log file's name.  If not

+        specified, the default value is "access_log.".  To specify no prefix,

+        use a zero-length string.</p>

+      </td></tr><tr><td align="left" valign="center"><code>resolveHosts</code></td><td align="left" valign="center">

+        <p>Set to <code>true</code> to convert the IP address of the remote

+        host into the corresponding host name via a DNS lookup.  Set to

+        <code>false</code> to skip this lookup, and report the remote IP

+        address instead.</p>

+      </td></tr><tr><td align="left" valign="center"><code>suffix</code></td><td align="left" valign="center">

+        <p>The suffix added to the end of each log file's name.  If not

+        specified, the default value is "".  To specify no suffix,

+        use a zero-length string.</p>

+      </td></tr><tr><td align="left" valign="center"><code>rotatable</code></td><td align="left" valign="center">

+        <p>Flag to determine if log rotation should occur.

+           If set to <code>false</code>, then this file is never rotated and

+           <code>fileDateFormat</code> is ignored. Use with caution!

+           Default value: <code>true</code>

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>condition</code></td><td align="left" valign="center">

+        <p>Turns on conditional logging. If set, requests will be

+           logged only if <code>ServletRequest.getAttribute()</code> is

+           null. For example, if this value is set to

+           <code>junk</code>, then a particular request will only be logged

+           if <code>ServletRequest.getAttribute("junk") == null</code>.

+           The use of Filters is an easy way to set/unset the attribute

+           in the ServletRequest on many different requests.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>fileDateFormat</code></td><td align="left" valign="center">

+        <p>Allows a customized date format in the access log file name.

+           The date format also decides how often the file is rotated.

+           If you wish to rotate every hour, then set this value

+           to: <code>yyyy-MM-dd.HH</code>

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>buffered</code></td><td align="left" valign="center">

+        <p>Flag to determine if logging will be buffered.

+           If set to <code>false</code>, then access logging will be written after each 

+           request. Default value: <code>true</code>

+        </p>

+      </td></tr></table>

+

+    <p>Values for the <code>pattern</code> attribute are made up of literal

+    text strings, combined with pattern identifiers prefixed by the "%"

+    character to cause replacement by the corresponding variable value from

+    the current request and response.  The following pattern codes are

+    supported:</p>

+    <ul>

+    <li><b>%a</b> - Remote IP address</li>

+    <li><b>%A</b> - Local IP address</li>

+    <li><b>%b</b> - Bytes sent, excluding HTTP headers, or '-' if zero</li>

+    <li><b>%B</b> - Bytes sent, excluding HTTP headers</li>

+    <li><b>%h</b> - Remote host name (or IP address if

+        <code>resolveHosts</code> is false)</li>

+    <li><b>%H</b> - Request protocol</li>

+    <li><b>%l</b> - Remote logical username from identd (always returns

+        '-')</li>

+    <li><b>%m</b> - Request method (GET, POST, etc.)</li>

+    <li><b>%p</b> - Local port on which this request was received</li>

+    <li><b>%q</b> - Query string (prepended with a '?' if it exists)</li>

+    <li><b>%r</b> - First line of the request (method and request URI)</li>

+    <li><b>%s</b> - HTTP status code of the response</li>

+    <li><b>%S</b> - User session ID</li>

+    <li><b>%t</b> - Date and time, in Common Log Format</li>

+    <li><b>%u</b> - Remote user that was authenticated (if any), else '-'</li>

+    <li><b>%U</b> - Requested URL path</li>

+    <li><b>%v</b> - Local server name</li>

+    <li><b>%D</b> - Time taken to process the request, in millis</li>

+    <li><b>%T</b> - Time taken to process the request, in seconds</li>

+    <li><b>%I</b> - current request thread name (can compare later with stacktraces)</li>

+    </ul>

+

+    <p>

+    There is also support to write information from the cookie, incoming

+    header, the Session or something else in the ServletRequest.

+    It is modeled after the

+    <a href="http://httpd.apache.org/">Apache HTTP Server</a> log configuration

+    syntax:</p>

+    <ul>

+    <li><b><code>%{xxx}i</code></b> for incoming headers</li>

+    <li><b><code>%{xxx}o</code></b> for outgoing response headers</li>

+    <li><b><code>%{xxx}c</code></b> for a specific cookie</li>

+    <li><b><code>%{xxx}r</code></b> xxx is an attribute in the ServletRequest</li>

+    <li><b><code>%{xxx}s</code></b> xxx is an attribute in the HttpSession</li>

+    </ul>

+

+

+    <p>The shorthand pattern name <code>common</code> (which is also the

+    default) corresponds to <strong>'%h %l %u %t "%r" %s %b'</strong>.</p>

+

+    <p>The shorthand pattern name <code>combined</code> appends the

+    values of the <code>Referer</code> and <code>User-Agent</code> headers,

+    each in double quotes, to the <code>common</code> pattern

+    described in the previous paragraph.</p>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Address Filter"><!--()--></a><a name="Remote_Address_Filter"><strong>Remote Address Filter</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Address Filter/Introduction"><!--()--></a><a name="Remote_Address_Filter/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Remote Address Filter</strong> allows you to compare the

+    IP address of the client that submitted this request against one or more

+    <em>regular expressions</em>, and either allow the request to continue

+    or refuse to process the request from this client.  A Remote Address

+    Filter can be associated with any Catalina container

+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+    <a href="context.html">Context</a>), and must accept any request

+    presented to this container for processing before it will be passed on.</p>

+

+    <p>The syntax for <em>regular expressions</em> is different than that for

+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>

+    package. Please consult the Java documentation for details of the

+    expressions supported.</p>

+

+    <p>See also: <a href="#Remote_Host_Filter">Remote Host Filter</a>,

+    <a href="#Remote_IP_Valve">Remote IP Valve</a>.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Address Filter/Attributes"><!--()--></a><a name="Remote_Address_Filter/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Remote Address Filter</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.RemoteAddrValve</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>allow</code></td><td align="left" valign="center">

+        <p>A comma-separated list of <em>regular expression</em> patterns

+        that the remote client's IP address is compared to.  If this attribute

+        is specified, the remote address MUST match for this request to be

+        accepted.  If this attribute is not specified, all requests will be

+        accepted UNLESS the remote address matches a <code>deny</code>

+        pattern.</p>

+      </td></tr><tr><td align="left" valign="center"><code>deny</code></td><td align="left" valign="center">

+        <p>A comma-separated list of <em>regular expression</em> patterns

+        that the remote client's IP address is compared to.  If this attribute

+        is specified, the remote address MUST NOT match for this request to be

+        accepted.  If this attribute is not specified, request acceptance is

+        governed solely by the <code>accept</code> attribute.</p>

+      </td></tr><tr><td align="left" valign="center"><code>denyStatus</code></td><td align="left" valign="center">

+        <p>HTTP response status code that is used when rejecting denied

+        request. The default value is <code>403</code>. For example,

+        it can be set to the value <code>404</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Host Filter"><!--()--></a><a name="Remote_Host_Filter"><strong>Remote Host Filter</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Host Filter/Introduction"><!--()--></a><a name="Remote_Host_Filter/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Remote Host Filter</strong> allows you to compare the

+    hostname of the client that submitted this request against one or more

+    <em>regular expressions</em>, and either allow the request to continue

+    or refuse to process the request from this client.  A Remote Host

+    Filter can be associated with any Catalina container

+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or

+    <a href="context.html">Context</a>), and must accept any request

+    presented to this container for processing before it will be passed on.</p>

+

+    <p>The syntax for <em>regular expressions</em> is different than that for

+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>

+    package. Please consult the Java documentation for details of the

+    expressions supported.</p>

+

+    <p><strong>Note:</strong> This filter processes the value returned by

+    method <code>ServletRequest.getRemoteHost()</code>. To allow the method

+    to return proper host names, you have to enable "DNS lookups" feature on

+    a <strong>Connector</strong>.</p>

+

+    <p>See also: <a href="#Remote_Address_Filter">Remote Address Filter</a>,

+    <a href="http.html">HTTP Connector</a> configuration.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote Host Filter/Attributes"><!--()--></a><a name="Remote_Host_Filter/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Remote Host Filter</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.RemoteHostValve</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>allow</code></td><td align="left" valign="center">

+        <p>A comma-separated list of <em>regular expression</em> patterns

+        that the remote client's hostname is compared to.  If this attribute

+        is specified, the remote hostname MUST match for this request to be

+        accepted.  If this attribute is not specified, all requests will be

+        accepted UNLESS the remote hostname matches a <code>deny</code>

+        pattern.</p>

+      </td></tr><tr><td align="left" valign="center"><code>deny</code></td><td align="left" valign="center">

+        <p>A comma-separated list of <em>regular expression</em> patterns

+        that the remote client's hostname is compared to.  If this attribute

+        is specified, the remote hostname MUST NOT match for this request to be

+        accepted.  If this attribute is not specified, request acceptance is

+        governed solely by the <code>accept</code> attribute.</p>

+      </td></tr><tr><td align="left" valign="center"><code>denyStatus</code></td><td align="left" valign="center">

+        <p>HTTP response status code that is used when rejecting denied

+        request. The default value is <code>403</code>. For example,

+        it can be set to the value <code>404</code>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Dumper Valve"><!--()--></a><a name="Request_Dumper_Valve"><strong>Request Dumper Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Dumper Valve/Introduction"><!--()--></a><a name="Request_Dumper_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <em>Request Dumper Valve</em> is a useful tool in debugging

+    interactions with a client application (or browser) that is sending

+    HTTP requests to your Tomcat-based server.  When configured, it causes

+    details about each request processed by its associated <code>Engine</code>, 

+    <code>Host</code>, or <code>Context</code> to be logged according to 

+    the logging configuration for that container.</p>

+

+    <p><strong>WARNING: Using this valve has side-effects.</strong>  The

+    output from this valve includes any parameters included with the request.

+    The parameters will be decoded using the default platform encoding. Any

+    subsequent calls to <code>request.setCharacterEncoding()</code> within

+    the web application will have no effect. NOTE: Since all parameters are

+    included in the output, the InputStream is consumed for requests made with

+    the method POST and content-type application/x-www-form-urlencoded.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Request Dumper Valve/Attributes"><!--()--></a><a name="Request_Dumper_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Request Dumper Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.RequestDumperValve</strong>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Single Sign On Valve"><!--()--></a><a name="Single_Sign_On_Valve"><strong>Single Sign On Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Single Sign On Valve/Introduction"><!--()--></a><a name="Single_Sign_On_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <em>Single Sign On Valve</em> is utilized when you wish to give users

+    the ability to sign on to any one of the web applications associated with

+    your virtual host, and then have their identity recognized by all other

+    web applications on the same virtual host.</p>

+

+    <p>See the <a href="host.html#Single Sign On">Single Sign On</a> special

+    feature on the <strong>Host</strong> element for more information.</p>

+

+  </blockquote></td></tr></table>

+

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Single Sign On Valve/Attributes"><!--()--></a><a name="Single_Sign_On_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Single Sign On</strong> Valve supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.authenticator.SingleSignOn</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>requireReauthentication</code></td><td align="left" valign="center">

+        <p>Default false. Flag to determine whether each request needs to be 

+        reauthenticated to the security <strong>Realm</strong>. If "true", this

+        Valve uses cached security credentials (username and password) to

+        reauthenticate to the <strong>Realm</strong> each request associated 

+        with an SSO session.  If "false", the Valve can itself authenticate 

+        requests based on the presence of a valid SSO cookie, without 

+        rechecking with the <strong>Realm</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cookieDomain</code></td><td align="left" valign="center">

+        <p>Sets the host domain to be used for sso cookies.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Basic Authenticator Valve"><!--()--></a><a name="Basic_Authenticator_Valve"><strong>Basic Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Basic Authenticator Valve/Introduction"><!--()--></a><a name="Basic_Authenticator_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Basic Authenticator Valve</strong> is automatically added to

+    any <a href="context.html">Context</a> that is configured to use BASIC

+    authentication.</p>

+

+    <p>If any non-default settings are required, the valve may be configured

+    within <a href="context.html">Context</a> element with the required

+    values.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Basic Authenticator Valve/Attributes"><!--()--></a><a name="Basic_Authenticator_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Basic Authenticator Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.authenticator.BasicAuthenticator</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>changeSessionIdOnAuthentication</code></td><td align="left" valign="center">

+        <p>Controls if the session ID is changed if a session exists at the

+        point where users are authenticated. This is to prevent session fixation

+        attacks. If not set, the default value of <code>true</code> will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>cnonceCacheSize</code></td><td align="left" valign="center">

+        <p>To protect against replay attacks, the DIGEST authenticator tracks

+        client nonce and nonce count values. This attribute controls the size

+        of that cache. If not specified, the default value of 1000 is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>disableProxyCaching</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers but will also cause secured pages to be

+        cached by proxies which will almost certainly be a security issue.

+        <code>securePagesWithPragma</code> offers an alternative, secure,

+        workaround for browser caching issues. If not set, the default value of

+        <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>key</code></td><td align="left" valign="center">

+        <p>The secret key used by digest authentication. If not set, a secure

+        random value is generated. This should normally only be set when it is

+        necessary to keep key values constant either across server restarts

+        and/or across a cluster.</p>

+      </td></tr><tr><td align="left" valign="center"><code>nonceValidity</code></td><td align="left" valign="center">

+        <p>The time, in milliseconds, that a server generated nonce will be

+        considered valid for use in authentication. If not specified, the

+        default value of 300000 (5 minutes) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>opaque</code></td><td align="left" valign="center">

+        <p>The opaque server string used by digest authentication. If not set, a

+        random value is generated. This should normally only be set when it is

+        necessary to keep opaque values constant either across server restarts

+        and/or across a cluster.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securePagesWithPragma</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers by using

+        <code>Cache-Control: private</code> rather than the default of

+        <code>Pragma: No-cache</code> and <code>Cache-control: No-cache</code>.

+        If not set, the default value of <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>validateUri</code></td><td align="left" valign="center">

+        <p>Should the URI be validated as required by RFC2617? If not specified,

+        the default value of <code>true</code> will be used. This should

+        normally only be set when Tomcat is located behind a reverse proxy and

+        the proxy is modifying the URI passed to Tomcat such that DIGEST

+        authentication always fails.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Digest Authenticator Valve"><!--()--></a><a name="Digest_Authenticator_Valve"><strong>Digest Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Digest Authenticator Valve/Introduction"><!--()--></a><a name="Digest_Authenticator_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Digest Authenticator Valve</strong> is automatically added to

+    any <a href="context.html">Context</a> that is configured to use DIGEST

+    authentication.</p>

+

+    <p>If any non-default settings are required, the valve may be configured

+    within <a href="context.html">Context</a> element with the required

+    values.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Digest Authenticator Valve/Attributes"><!--()--></a><a name="Digest_Authenticator_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Digest Authenticator Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>cache</code></td><td align="left" valign="center">

+        <p>Should we cache authenticated Principals if the request is part of an

+        HTTP session? If not specified, the default value of <code>false</code>

+        will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.authenticator.DigestAuthenticator</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>changeSessionIdOnAuthentication</code></td><td align="left" valign="center">

+        <p>Controls if the session ID is changed if a session exists at the

+        point where users are authenticated. This is to prevent session fixation

+        attacks. If not set, the default value of <code>true</code> will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>disableProxyCaching</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers but will also cause secured pages to be

+        cached by proxies which will almost certainly be a security issue.

+        <code>securePagesWithPragma</code> offers an alternative, secure,

+        workaround for browser caching issues. If not set, the default value of

+        <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>key</code></td><td align="left" valign="center">

+        <p>The secret key used by digest authentication. If not set, a secure

+        random value is generated. This should normally only be set when it is

+        necessary to keep key values constant either across server restarts

+        and/or across a cluster.</p>

+      </td></tr><tr><td align="left" valign="center"><code>nonceCacheSize</code></td><td align="left" valign="center">

+        <p>To protect against replay attacks, the DIGEST authenticator tracks

+        server nonce and nonce count values. This attribute controls the size

+        of that cache. If not specified, the default value of 1000 is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>nonceValidity</code></td><td align="left" valign="center">

+        <p>The time, in milliseconds, that a server generated nonce will be

+        considered valid for use in authentication. If not specified, the

+        default value of 300000 (5 minutes) will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>opaque</code></td><td align="left" valign="center">

+        <p>The opaque server string used by digest authentication. If not set, a

+        random value is generated. This should normally only be set when it is

+        necessary to keep opaque values constant either across server restarts

+        and/or across a cluster.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securePagesWithPragma</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers by using

+        <code>Cache-Control: private</code> rather than the default of

+        <code>Pragma: No-cache</code> and <code>Cache-control: No-cache</code>.

+        If not set, the default value of <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>validateUri</code></td><td align="left" valign="center">

+        <p>Should the URI be validated as required by RFC2617? If not specified,

+        the default value of <code>true</code> will be used. This should

+        normally only be set when Tomcat is located behind a reverse proxy and

+        the proxy is modifying the URI passed to Tomcat such that DIGEST

+        authentication always fails.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Form Authenticator Valve"><!--()--></a><a name="Form_Authenticator_Valve"><strong>Form Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Form Authenticator Valve/Introduction"><!--()--></a><a name="Form_Authenticator_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Form Authenticator Valve</strong> is automatically added to

+    any <a href="context.html">Context</a> that is configured to use FORM

+    authentication.</p>

+

+    <p>If any non-default settings are required, the valve may be configured

+    within <a href="context.html">Context</a> element with the required

+    values.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Form Authenticator Valve/Attributes"><!--()--></a><a name="Form_Authenticator_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Form Authenticator Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.authenticator.FormAuthenticator</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>changeSessionIdOnAuthentication</code></td><td align="left" valign="center">

+        <p>Controls if the session ID is changed if a session exists at the

+        point where users are authenticated. This is to prevent session fixation

+        attacks. If not set, the default value of <code>true</code> will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>characterEncoding</code></td><td align="left" valign="center">

+        <p>Character encoding to use to read the username and password parameters

+        from the request. If not set, the encoding of the request body will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>disableProxyCaching</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers but will also cause secured pages to be

+        cached by proxies which will almost certainly be a security issue.

+        <code>securePagesWithPragma</code> offers an alternative, secure,

+        workaround for browser caching issues. If not set, the default value of

+        <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securePagesWithPragma</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers by using

+        <code>Cache-Control: private</code> rather than the default of

+        <code>Pragma: No-cache</code> and <code>Cache-control: No-cache</code>.

+        If not set, the default value of <code>true</code> will be used.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="SSL Authenticator Valve"><!--()--></a><a name="SSL_Authenticator_Valve"><strong>SSL Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="SSL Authenticator Valve/Introduction"><!--()--></a><a name="SSL_Authenticator_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>SSL Authenticator Valve</strong> is automatically added to

+    any <a href="context.html">Context</a> that is configured to use SSL

+    authentication.</p>

+

+    <p>If any non-default settings are required, the valve may be configured

+    within <a href="context.html">Context</a> element with the required

+    values.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="SSL Authenticator Valve/Attributes"><!--()--></a><a name="SSL_Authenticator_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>SSL Authenticator Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.authenticator.SSLAuthenticator</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>changeSessionIdOnAuthentication</code></td><td align="left" valign="center">

+        <p>Controls if the session ID is changed if a session exists at the

+        point where users are authenticated. This is to prevent session fixation

+        attacks. If not set, the default value of <code>true</code> will be

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>disableProxyCaching</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers but will also cause secured pages to be

+        cached by proxies which will almost certainly be a security issue.

+        <code>securePagesWithPragma</code> offers an alternative, secure,

+        workaround for browser caching issues. If not set, the default value of

+        <code>true</code> will be used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>securePagesWithPragma</code></td><td align="left" valign="center">

+        <p>Controls the caching of pages that are protected by security

+        constraints. Setting this to <code>false</code> may help work around

+        caching issues in some browsers by using

+        <code>Cache-Control: private</code> rather than the default of

+        <code>Pragma: No-cache</code> and <code>Cache-control: No-cache</code>.

+        If not set, the default value of <code>true</code> will be used.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="WebDAV Fix Valve"><!--()--></a><a name="WebDAV_Fix_Valve"><strong>WebDAV Fix Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="WebDAV Fix Valve/Introduction"><!--()--></a><a name="WebDAV_Fix_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>Microsoft operating systems have two WebDAV clients. One is used with

+    port 80, the other is used for all other ports. The implementation used with

+    port 80 does not adhere to the WebDAV specification and fails when trying to

+    communicate with the Tomcat WebDAV Servlet. This valve provides a fix for

+    this by forcing the use of the WebDAV implementation that works, even when

+    connecting via port 80.</p>

+    

+    <p>This Valve may be used at the <code>Engine</code>, <code>Host</code> or

+    <code>Context</code> level as required. Normally, this Valve would be used

+    at the <code>Context</code> level.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="WebDAV Fix Valve/Attributes"><!--()--></a><a name="WebDAV_Fix_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>WebDAV Fix Valve</strong> supports the following

+    configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.WebdavFixValve</strong>.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote IP Valve"><!--()--></a><a name="Remote_IP_Valve"><strong>Remote IP Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote IP Valve/Introduction"><!--()--></a><a name="Remote_IP_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+  

+    <p>Tomcat port of

+    <a href="http://httpd.apache.org/docs/trunk/mod/mod_remoteip.html">mod_remoteip</a>,

+    this valve replaces the apparent client remote IP address and hostname for

+    the request with the IP address list presented by a proxy or a load balancer

+    via a request headers (e.g. "X-Forwarded-For").</p>

+

+    <p>Another feature of this valve is to replace the apparent scheme

+    (http/https), server port and <code>request.secure</code> with the scheme presented 

+    by a proxy or a load balancer via a request header 

+    (e.g. "X-Forwarded-Proto").</p>

+    

+    <p>This Valve may be used at the <code>Engine</code>, <code>Host</code> or

+    <code>Context</code> level as required. Normally, this Valve would be used

+    at the <code>Engine</code> level.</p>

+    

+    <p>If used in conjunction with Remote Address/Host valves then this valve

+    should be defined first to ensure that the correct client IP address is

+    presented to the Remote Address/Host valves.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Remote IP Valve/Attributes"><!--()--></a><a name="Remote_IP_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Remote IP Valve</strong> supports the

+    following configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.RemoteIpValve</strong>.</p>

+      </td></tr><tr><td align="left" valign="center"><code>remoteIpHeader</code></td><td align="left" valign="center">

+        <p>Name of the HTTP Header read by this valve that holds the list of

+        traversed IP addresses starting from the requesting client. If not

+        specified, the default of <code>x-forwarded-for</code> is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>internalProxies</code></td><td align="left" valign="center">

+        <p>List of internal proxies' IP addresses as comma separated regular

+        expressions. If they appear in the <strong>remoteIpHeader</strong>

+        value, they will be trusted and will not appear in the

+        <strong>proxiesHeader</strong> value. If not specified the default value

+        of <code>10\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?,

+        192\.168\.\d\d?\d?\.\d\d?\d?,

+        169\.254\.\d\d?\d?\.\d\d?\d?,

+        127\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?</code> will

+        be used.</p>

+        <p>

+          Note that the individual regular expressions <i>must not</i>

+          contain commas themselves, as the <code>internalProxies</code>

+          value is first split by commas, then parsed into separate regular

+          expression patterns.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>proxiesHeader</code></td><td align="left" valign="center">

+        <p>Name of the HTTP header created by this valve to hold the list of

+        proxies that have been processed in the incoming

+        <strong>remoteIpHeader</strong>. If not specified, the default of

+        <code>x-forwarded-by</code> is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>trustedProxies</code></td><td align="left" valign="center">

+        <p>List of trusted proxies' IP addresses as comma separated regular

+        expressions. If they appear in the <strong>remoteIpHeader</strong>

+        value, they will be trusted and will appear in the

+        <strong>proxiesHeader</strong> value. If not specified, no proxies will

+        be trusted.</p>

+      </td></tr><tr><td align="left" valign="center"><code>protocolHeader</code></td><td align="left" valign="center">

+        <p>Name of the HTTP Header read by this valve that holds the protocol

+        used by the client to connect to the proxy. If not specified, the

+        default of <code>null</code> is used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>protocolHeaderHttpsValue</code></td><td align="left" valign="center">

+        <p>Value of the <strong>protocolHeader</strong> to indicate that it is

+        an HTTPS request. If not specified, the default of <code>https</code> is

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>httpServerPort</code></td><td align="left" valign="center">

+         <p>Value returned by <code>ServletRequest.getServerPort()</code> 

+         when the <strong>protocolHeader</strong> indicates <code>http</code> 

+         protocol. If not specified, the default of <code>80</code> is

+        used.</p>

+      </td></tr><tr><td align="left" valign="center"><code>httpsServerPort</code></td><td align="left" valign="center">

+         <p>Value returned by <code>ServletRequest.getServerPort()</code> 

+         when the <strong>protocolHeader</strong> indicates <code>https</code> 

+         protocol. If not specified, the default of <code>443</code> is

+        used.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Stuck Thread Detection Valve"><!--()--></a><a name="Stuck_Thread_Detection_Valve"><strong>Stuck Thread Detection Valve</strong></a></font></td></tr><tr><td><blockquote>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Stuck Thread Detection Valve/Introduction"><!--()--></a><a name="Stuck_Thread_Detection_Valve/Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>This valve allows to detect requests that take a long time to process, which might

+    indicate that the thread that is processing it is stuck.</p>

+    <p>When such a request is detected, the current stack trace of its thread is written

+    to Tomcat log with a WARN level.</p>

+    <p>The IDs and names of the stuck threads are available through JMX in the

+    <code>stuckThreadIds</code> and <code>stuckThreadNames</code> attributes.

+    The IDs can be used with the standard Threading JVM MBean

+    (<code>java.lang:type=Threading</code>) to retrieve other information

+    about each stuck thread.</p>

+

+  </blockquote></td></tr></table>

+

+  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Stuck Thread Detection Valve/Attributes"><!--()--></a><a name="Stuck_Thread_Detection_Valve/Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>

+

+    <p>The <strong>Stuck Thread Detection Valve</strong> supports the

+    following configuration attributes:</p>

+

+    <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">

+        <p>Java class name of the implementation to use.  This MUST be set to

+        <strong>org.apache.catalina.valves.StuckThreadDetectionValve</strong>.

+        </p>

+      </td></tr><tr><td align="left" valign="center"><code>threshold</code></td><td align="left" valign="center">

+        <p>Minimum duration in seconds after which a thread is considered stuck.

+        Default is 600 seconds. If set to 0, the detection is disabled.</p>

+        <p>Note: since the detection is done in the background thread of the Container

+        (Engine, Host or Context) declaring this Valve, the threshold should be higher

+        than the <code>backgroundProcessorDelay</code> of this Container.</p>

+      </td></tr></table>

+

+  </blockquote></td></tr></table>

+

+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2014, Apache Software Foundation

+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file