Modified: tomcat/site/trunk/docs/connectors-doc/reference/printer/workers.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/reference/printer/workers.html?rev=1848964&r1=1848963&r2=1848964&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/reference/printer/workers.html (original) +++ tomcat/site/trunk/docs/connectors-doc/reference/printer/workers.html Fri Dec 14 17:45:49 2018 @@ -1,5 +1,35 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Apache Tomcat Connectors - Reference Guide - workers.properties configuration</title><meta name="author" value="Mladen Turk"><meta name="email" value="mt...@apache.org"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt=" :: Apache Software Foundation" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left"><table border="0" width="100% " cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connectors - Reference Guide</h1><h2>workers.properties configuration</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0" alt=" "></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> -<br> +<!DOCTYPE html SYSTEM "about:legacy-compat"> +<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector (1.2.x) - workers.properties configuration</title><meta name="author" content="Mladen Turk"><script type="application/javascript" data-comments-identifier=""> + "use strict"; // Enable strict mode + + (function() { + var thisScript = document.currentScript; + if (!thisScript) { // Workaround for IE <= 11 + var scripts = document.getElementsByTagName("script"); + thisScript = scripts[scripts.length - 1]; + } + document.addEventListener("DOMContentLoaded", (function() { + var commentsDiv = document.getElementById("comments_thread"); + var commentsShortname = "tomcat"; + var commentsIdentifier = "https://tomcat.apache.org/" + + thisScript.getAttribute("data-comments-identifier") + ".html"; + + (function(w, d) { + if (w.location.hostname.toLowerCase() == "tomcat.apache.org") { + var s = d.createElement("script"); + s.type = "application/javascript"; + s.async = true; + s.src = "https://comments.apache.org/show_comments.lua?site=" + + encodeURIComponent(commentsShortname) + + "&page=" + encodeURIComponent(commentsIdentifier); + d.head.appendChild(s); + } else { + commentsDiv.appendChild(d.createTextNode("Comments are disabled for this page at the moment.")); + } + })(window, document); + }), false); + })(); + </script></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="common_howto/quick.html">For the impatient</a></li><li><a href="common_howto/workers.html">All about workers</a></li><li><a href="common_howto/timeouts.html">Timeouts</a></li><li><a href="common_howto/load balancers.html">Load Balancing</a></li><li><a href="common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li><li><a href="webserver_howto/nes.html">iPlanet Web Server (NSAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><ul><li><a href="reference/workers.html">workers.properties</a></li><li><a href="reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="reference/status.html">Status Worker</a></li><li><a href="reference/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2> <ul><li><a href="miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Tomcat+Connectors&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a href="miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul></div><div><h2>News</h2><ul><li><a href="news/20180301.html">2018</a></li><li><a href="news/20160901.html">2016</a></li><li><a href="news/20150101.html">2015</a></li><li><a href="news/20140201.html">2014</a></li><li><a href="news/20120301.html">2012</a></li><li><a href="news/20110701.html">2011</a></li><li><a href="news/20100101.html">2010</a></li><li><a href="news/20090301.html">2009</a></li><li><a href="news/20081001.html">2008</a></li><li><a href="news/20070301.html">2007</a></li><li><a href="news/20060101.html">2006</a></li><li><a href="news/20050101.html">2005</a></li><li><a href="news/20041100.html">2004</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>workers.properties configuration</h2><h3 id="Int roduction">Introduction</h3><div class="text"> <p> A <b>Tomcat worker</b> is a Tomcat instance that is waiting to execute servlets or any other content on behalf of some web server. For example, we can have a web server such as @@ -34,14 +64,12 @@ There are probably more reasons for havi Tomcat workers are defined in a properties file dubbed <b>workers.properties</b> and this tutorial explains how to work with it. </p> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration File Basics"><strong>Configuration File Basics</strong></a></font></td></tr><tr><td><blockquote> -<br> +</div><h3 id="Configuration_File_Basics">Configuration File Basics</h3><div class="text"> <p>Defining workers to the Tomcat web server plugin can be done using a properties file (a sample file named workers.properties is available in the conf/ directory). </p> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Format, Comments, Whitespace"><strong>Format, Comments, Whitespace</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Format,_Comments,_Whitespace">Format, Comments, Whitespace</h4><div class="text"> <p> The lines in the file define properties. The general format is </p> @@ -71,21 +99,26 @@ letters <b>f</b> (false), <b>n</b> (fals The values are taken case insensitive. In this documentation we will stick to <b>false</b> and <b>true</b>. </p> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Global Properties"><strong>Global Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Global_Properties">Global Properties</h4><div class="text"> <p> These directives have global scope. </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>worker.list</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> +<table class="defaultTable"><tr><th style="width: 15%;"> + Directive + </th><th style="width: 10%;text-align:center"> + Default + </th><th style="width: 75%;"> + Description + </th></tr><tr><td><strong><code class="attributeName">worker.list</code></strong></td><td style="text-align:center"><code>ajp13</code></td><td> A comma separated list of workers names that the JK will use. When starting up, the web server plugin will instantiate the workers whose name appears in the worker.list property, these are also the workers to whom you can map requests. <p> This directive can be used multiple times. </p> -</td></tr><tr><td align="left" valign="center"><code>worker.maintain</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">worker.maintain</code></td><td style="text-align:center"><code>60</code></td><td> Worker connection pool maintain interval in seconds. If set to the positive value JK will scan all connections for all workers specified in worker.list directive and check if connections needs to be recycled. @@ -98,10 +131,9 @@ in error are checked for recover_time. This feature has been added in <b>jk 1.2.13</b>. </p> </td></tr></table> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Worker Properties"><strong>Worker Properties</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Worker_Properties">Worker Properties</h4><div class="text"> <p> Each worker configuration directive consists of three words separated by a dot: </p> @@ -110,16 +142,15 @@ Each worker configuration directive cons The first word is always <b>worker</b>. The second word is the worker name you can choose. In the case of load balancing, the worker name has an additional meaning. Please consult the -<a href="../../common_howto/loadbalancers.html">Load Balancer HowTo</a>. +<a href="../common_howto/loadbalancers.html">Load Balancer HowTo</a>. </p> -<p><font color="#ff0000"> +<warn> The name of the worker can contain only the alphanumeric characters <b>[a-z][A-Z][0-9][_\-]</b> and is case sensitive. -</font></p> -</blockquote></td></tr></table> +</warn> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Variables, Environment Variables"><strong>Variables, Environment Variables</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Variables,_Environment_Variables">Variables, Environment Variables</h4><div class="text"> <p> You can define and use variables in the workers.properties file. To define a variable you use the syntax: @@ -136,10 +167,9 @@ on the value side of a property line. If defined before its use, we will search the process environment for a variable with the same name and use their value. </p> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Property Inheritance"><strong>Property Inheritance</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Property_Inheritance">Property Inheritance</h4><div class="text"> <p>Often one wants to use the same property values for various workers. To reduce duplication of configuration lines and to ease the maintenance of the file, you can inherit properties from one worker to another, or even @@ -172,79 +202,88 @@ loop! <p> This feature has been added in <b>jk 1.2.19</b>. </p> -</blockquote></td></tr></table> -</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="List of All Worker Directives"><strong>List of All Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Mandatory Directives"><strong>Mandatory Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +</div></div> +</div><h3 id="List_of_All_Worker_Directives">List of All Worker Directives</h3><div class="text"> +<div class="subsection"><h4 id="Mandatory_Directives">Mandatory Directives</h4><div class="text"> <p>Mandatory directives are the one that each worker <b>must</b> contain. Without them the worker will be unavailable or will misbehave. Those directives will be marked with a <strong>strong</strong> font in the following tables. </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>type</code></strong></td><td align="center" valign="center"><code>ajp13</code></td><td align="left" valign="center"> +<table class="defaultTable"><tr><th style="width: 15%;"> + Directive + </th><th style="width: 10%;text-align:center"> + Default + </th><th style="width: 75%;"> + Description + </th></tr><tr><td><strong><code class="attributeName">type</code></strong></td><td style="text-align:center"><code>ajp13</code></td><td> Type of the worker (can be one of ajp12, ajp13, ajp14, jni, lb or status). The type of the worker defines the directives that can be applied to the worker. <p>Type <b>ajp13</b> is the preferred worker type that JK uses for communication between web server and Tomcat. This type of worker uses sockets as communication channel. For detailed description of the ajp13 protocol stack browse to -<a href="../../ajp/ajpv13a.html">AJPv13 protocol specification</a>. Type <b>lb</b> is -used for <a href="../../common_howto/loadbalancers.html">load balancing workers</a>, -type <b>status</b> for <a href="../../reference/status.html">status workers</a>. +<a href="../ajp/ajpv13a.html">AJPv13 protocol specification</a>. Type <b>lb</b> is +used for <a href="../common_howto/loadbalancers.html">load balancing workers</a>, +type <b>status</b> for <a href="../reference/status.html">status workers</a>. </p> <p>Type <b>ajp14</b> is experimental and not recommended, type <b>ajp12</b> is obsolete. </p> -<p><font color="#ff0000">JNI workers are no longer supported and will likely not work. Do not use them.</font></p> +<warn>JNI workers are no longer supported and will likely not work. Do not use them.</warn> </td></tr></table> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Connection Directives"><strong>Connection Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Connection_Directives">Connection Directives</h4><div class="text"> <p>Connection directives defines the parameters needed to connect and maintain the connections pool of persistent connections between JK and remote Tomcat. </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>host</code></td><td align="center" valign="center"><code>localhost</code></td><td align="left" valign="center"> +<table class="defaultTable"><tr><th style="width: 15%;"> + Directive + </th><th style="width: 10%;text-align:center"> + Default + </th><th style="width: 75%;"> + Description + </th></tr><tr><td><code class="attributeName">host</code></td><td style="text-align:center"><code>localhost</code></td><td> Host name or IP address of the backend Tomcat instance. The remote Tomcat must support the AJP13 protocol stack. The host name can have a <b>port</b> number embedded separated by the colon (':') character. -</td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="center" valign="center"><code>8009</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">port</code></td><td style="text-align:center"><code>8009</code></td><td> Port number of the remote Tomcat instance listening for defined protocol requests. The default value depends on the worker type. For ajp13 workers the default port is <b>8009</b>, while for ajp14 type of worker that value is <b>8011</b>. -</td></tr><tr><td align="left" valign="center"><code>source</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">source</code></td><td style="text-align:center"><code>-</code></td><td> Name or IP address used for the connection source (outgoing address). It should only be used on multi-homed hosts. <p> This feature is experimental and has been added in <b>jk 1.2.41</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>socket_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">socket_timeout</code></td><td style="text-align:center"><code>0</code></td><td> Socket timeout in seconds used for the communication channel between JK and remote host. If the remote host does not respond inside the timeout specified, JK will generate an error, and retry again. If set to zero (default) JK will wait for an infinite amount of time on all socket operations. -</td></tr><tr><td align="left" valign="center"><code>socket_connect_timeout</code></td><td align="center" valign="center"><code>socket_timeout*1000</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">socket_connect_timeout</code></td><td style="text-align:center"><code>socket_timeout*1000</code></td><td> Socket connect timeout in milliseconds used for the communication channel between JK and remote host. If the remote host does not respond inside the timeout specified, JK will generate an error, and retry again. <p> -Note that <b class="code">socket_timeout</b> is in seconds, and -<b class="code">socket_connect_timeout</b> in milliseconds, -so in absolute terms the default <b class="code">socket_connect_timeout</b> is -equal to <b class="code">"socket_timeout</b>. +Note that <code>socket_timeout</code> is in seconds, and +<code>socket_connect_timeout</code> in milliseconds, +so in absolute terms the default <code>socket_connect_timeout</code> is +equal to <code>"socket_timeout</code>. </p> <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>socket_keepalive</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">socket_keepalive</code></td><td style="text-align:center"><code>false</code></td><td> This directive should be used when you have a firewall between your web server and the Tomcat engine, who tend to drop inactive connections. This flag will tell the Operating System -to send <b class="code">KEEP_ALIVE</b> messages on inactive connections (interval depend on global OS settings, +to send <code>KEEP_ALIVE</code> messages on inactive connections (interval depend on global OS settings, generally 120 minutes), and thus prevent the firewall to cut inactive connections. To enable keepalive set this property value to <b>true</b>. <p> The problem with Firewall cutting inactive connections is that sometimes, neither web server or Tomcat have information about the cut and couldn't handle it. </p> -</td></tr><tr><td align="left" valign="center"><code>ping_mode</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">ping_mode</code></td><td style="text-align:center"><code>-</code></td><td> This flag determines, under which conditions established connections are probed to ensure they are still working. The probe is done with an empty AJP13 packet (CPing) and @@ -256,57 +295,57 @@ flags (multiple values are combined with </p> <p><b>C</b> (connect): If set, the connection will be probed once after connecting to the backend. The timeout -can be set by <b class="code">connect_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. +can be set by <code>connect_timeout</code>. If it is not set, +the value of <code>ping_timeout</code> will be used instead. </p> <p><b>P</b> (prepost): If set, the connection will be probed before sending each request to the backend. The timeout -can be set by <b class="code">prepost_timeout</b>. If it is not set, -the value of <b class="code">ping_timeout</b> will be used instead. +can be set by <code>prepost_timeout</code>. If it is not set, +the value of <code>ping_timeout</code> will be used instead. </p> <p><b>I</b> (interval): If set, the connection will be probed during the regular internal maintenance cycle, but only if it is idle longer than -<b class="code">connection_ping_interval</b>. The timeout -can be set by <b class="code">ping_timeout</b>. +<code>connection_ping_interval</code>. The timeout +can be set by <code>ping_timeout</code>. </p> <p><b>A</b> If set, all of the above probes will be used. </p> <p> This feature has been added in <b>jk 1.2.27</b>. Connect and -prepost probing were already available via <b class="code">connect_timeout</b> -and <b class="code">prepost_timeout</b> since version <b>jk 1.2.6</b>. +prepost probing were already available via <code>connect_timeout</code> +and <code>prepost_timeout</code> since version <b>jk 1.2.6</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>ping_timeout</code></td><td align="center" valign="center"><code>10000</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">ping_timeout</code></td><td style="text-align:center"><code>10000</code></td><td> Timeout in milliseconds used when waiting for the CPong answer of a CPing connection probe. The activation of the probes is done via -<b class="code">ping_mode</b>. The timeouts for <b class="code">ping_mode</b> +<code>ping_mode</code>. The timeouts for <code>ping_mode</code> connect and prepost can be overwritten individually via -<b class="code">connect_timeout</b> and <b class="code">prepost_timeout</b>. +<code>connect_timeout</code> and <code>prepost_timeout</code>. <p> For compatibility reasons, CPing/CPong is also used, whenever -<b class="code">connect_timeout</b> or <b class="code">prepost_timeout</b> are set, -even if <b class="code">ping_mode</b> is empty. +<code>connect_timeout</code> or <code>prepost_timeout</code> are set, +even if <code>ping_mode</code> is empty. </p> <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>connection_ping_interval</code></td><td align="center" valign="center"><code>0 / (ping_timeout/1000)*10</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">connection_ping_interval</code></td><td style="text-align:center"><code>0 / (ping_timeout/1000)*10</code></td><td> When using interval connection probing, connections idle for longer than this interval in seconds are probed by CPing packets whether they still work. -<p>Interval probing can be activated either by <b class="code">ping_mode</b>, -or by setting <b class="code">connection_ping_interval</b> to some value bigger -than zero. If you activate interval probing via <b class="code">ping_mode</b>, -then the default value of <b class="code">connection_ping_interval</b> is -<b class="code">(ping_timeout/1000) * 10</b>. Note that <b class="code">ping_timeout</b> -is in milliseconds, and <b class="code">connection_ping_interval</b> in seconds, -so in absolute terms the default <b class="code">connection_ping_interval</b> is -10 times <b class="code">ping_timeout</b>. +<p>Interval probing can be activated either by <code>ping_mode</code>, +or by setting <code>connection_ping_interval</code> to some value bigger +than zero. If you activate interval probing via <code>ping_mode</code>, +then the default value of <code>connection_ping_interval</code> is +<code>(ping_timeout/1000) * 10</code>. Note that <code>ping_timeout</code> +is in milliseconds, and <code>connection_ping_interval</code> in seconds, +so in absolute terms the default <code>connection_ping_interval</code> is +10 times <code>ping_timeout</code>. </p> <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">connection_pool_size</code></td><td style="text-align:center"><code>see text</code></td><td> This defines the number of connections made to the AJP backend that are maintained as a connection pool. It will limit the number of those connection that each web server child @@ -330,17 +369,17 @@ percentage depending on your growth rate whether your web server processes are able to use at least as many threads, as you configured as the pool size. </p> -<p><font color="#ff0000">Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_minsize</code></td><td align="center" valign="center"><code>(pool+1)/2</code></td><td align="left" valign="center"> +<warn>Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</warn> +</td></tr><tr><td><code class="attributeName">connection_pool_minsize</code></td><td style="text-align:center"><code>(pool+1)/2</code></td><td> Minimum size of the connection pool that will be maintained. <p> Its default value is (connection_pool_size+1)/2. </p> -<p><font color="#ff0000">Do not use connection_pool_minsize with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</font></p> +<warn>Do not use connection_pool_minsize with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</warn> <p> This feature has been added in <b>jk 1.2.16</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">connection_pool_timeout</code></td><td style="text-align:center"><code>0</code></td><td> Cache timeout property should be used with <b>connection_pool_minsize</b> to specify how many seconds JK should keep an inactive socket in cache before closing it. This property should be used to reduce the number of threads on the Tomcat web server. The default value zero disables the closing (infinite timeout). @@ -360,7 +399,7 @@ You should keep this time interval in sy of your AJP connector in Tomcat's server.xml. Note however, that the value for mod_jk is given in seconds, the one in server.xml has to use milliseconds. </p> -</td></tr><tr><td align="left" valign="center"><code>connection_acquire_timeout</code></td><td align="center" valign="center"><code>retries*retry_interval</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">connection_acquire_timeout</code></td><td style="text-align:center"><code>retries*retry_interval</code></td><td> Timeout the worker will wait for a free socket in cache before giving up. <p> Its default value is <b>retries * retry_interval</b>. @@ -368,7 +407,7 @@ Its default value is <b>retries * retry_ <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>lbfactor</code></td><td align="center" valign="center"><code>1</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">lbfactor</code></td><td style="text-align:center"><code>1</code></td><td> Only used for a member worker of a load balancer. <p> The integer number lbfactor (load balancing factor) is @@ -379,10 +418,9 @@ other worker, then it will receive five </p> </td></tr></table> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Load Balancing Directives"><strong>Load Balancing Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Load_Balancing_Directives">Load Balancing Directives</h4><div class="text"> <p>Load balancer is a virtual worker that does not really communicate with Tomcat workers. Instead it is responsible for the management of several "real" workers. The worker is supposed to be a load balancer if it's worker type is <b>lb</b>. @@ -418,12 +456,12 @@ The overall result is that workers manag (based on their lbfactor and current user session) and also fail over so a single Tomcat process death will not "kill" the entire site. </p> -<p><font color="#ff0000"> +<warn> If you want to use session stickiness, you must set different jvmRoute attributes in the Engine element in Tomcat's server.xml. Furthermore the names of the workers which are managed by the balancer have to be equal to the jvmRoute of the Tomcat instance they connect with. -</font></p> +</warn> <p> The restriction on the worker names can be lifted, if you use the route attribute for the workers. </p> @@ -431,7 +469,13 @@ The restriction on the worker names can The following table specifies properties that the lb worker can accept: </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>balance_workers</code></strong></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +<table class="defaultTable"><tr><th style="width: 15%;"> + Directive + </th><th style="width: 10%;text-align:center"> + Default + </th><th style="width: 75%;"> + Description + </th></tr><tr><td><strong><code class="attributeName">balance_workers</code></strong></td><td style="text-align:center"><code>-</code></td><td> A comma separated list of workers that the load balancer need to manage. <p> @@ -441,9 +485,9 @@ This directive can be used multiple time This directive replaces old <b>balanced_workers</b> directive and can be used only with mod_jk versions 1.2.7 and up. </p> -<p><font color="#ff0000">As long as these workers should only be used via the load balancer worker, -there is no need to also put them into the <b>worker.list</b> property.</font></p> -</td></tr><tr><td align="left" valign="center"><code>sticky_session</code></td><td align="center" valign="center"><code>true</code></td><td align="left" valign="center"> +<warn>As long as these workers should only be used via the load balancer worker, +there is no need to also put them into the <b>worker.list</b> property.</warn> +</td></tr><tr><td><code class="attributeName">sticky_session</code></td><td style="text-align:center"><code>true</code></td><td> Specifies whether requests with SESSION ID's should be routed back to the same Tomcat worker. If sticky_session is set to <b>true</b> sessions are sticky, otherwise sticky_session is set to <b>false</b>. Set sticky_session to <b>false</b> when Tomcat @@ -454,7 +498,7 @@ The <b>sticky_session</b> setting can be environment variable <b>JK_STICKY_IGNORE</b> and the worker map extension for <b>sticky_ignore</b>. This has been added in version <b>1.2.33</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>sticky_session_force</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">sticky_session_force</code></td><td style="text-align:center"><code>false</code></td><td> Specifies whether requests with SESSION ID's for workers that are in error state should be rejected. If sticky_session_force is set to <b>true</b> and the worker that matches that SESSION ID is in error state, client will @@ -464,7 +508,7 @@ used only when you set <b>sticky_session <p> This feature has been added in <b>jk 1.2.9</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>method</code></td><td align="center" valign="center"><code>Request</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">method</code></td><td style="text-align:center"><code>Request</code></td><td> Specifies what method load balancer is using for electing the best worker. Please note, that session stickiness and perfect load balancing are conflicting targets, especially when the number @@ -528,7 +572,7 @@ This feature has been added in version < The Session method has been added in version <b>1.2.20</b>, the <b>Next</b> method in version <b>1.2.33</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>lock</code></td><td align="center" valign="center"><code>Optimistic</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">lock</code></td><td style="text-align:center"><code>Optimistic</code></td><td> Specifies what lock method the load balancer will use for synchronising shared memory runtime data. If lock is set to <b>O[ptimistic]</b> balancer will not use shared memory lock @@ -538,10 +582,10 @@ Pessimistic locking, but can slow down t <p> This feature has been added in <b>jk 1.2.13</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for normal workers. +</td></tr><tr><td><code class="attributeName">retries</code></td><td style="text-align:center"><code>2</code></td><td> +<warn>This directive also exists for normal workers. For those it has a <a href="#Advanced Worker Directives">different -meaning</a>.</font></p> +meaning</a>.</warn> When making a request, the load-balancer worker will allocate the request to a member worker. If that member worker is either unable to service the request or fails to service the request, the request will be passed to another member @@ -564,7 +608,7 @@ of 8 requests before a 504 response is r <p> Until version <b>1.2.16</b> the default value was 3. </p> -</td></tr><tr><td align="left" valign="center"><code>lb_retries</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">lb_retries</code></td><td style="text-align:center"><code>2</code></td><td> When making a request, the load-balancer worker will allocate the request to a member worker. If that member worker is either unable to service the request or fails to service the request, the request will be passed to another member @@ -591,24 +635,29 @@ number of member workers. </p> </td></tr></table> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Status Worker Directives"><strong>Status Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Status_Worker_Directives">Status Worker Directives</h4><div class="text"> <p> The status worker does not communicate with Tomcat. Instead it is responsible for the load balancer management. </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="75%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>css</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +<table class="defaultTable"><tr><th style="width: 15%;"> + Directive + </th><th style="width: 10%;text-align:center"> + Default + </th><th style="width: 75%;"> + Description + </th></tr><tr><td><code class="attributeName">css</code></td><td style="text-align:center"><code>-</code></td><td> Specifies the url for cascading stylesheet to use. -</td></tr><tr><td align="left" valign="center"><code>read_only</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">read_only</code></td><td style="text-align:center"><code>false</code></td><td> A status worker with read_only=true will not allow any operations, that change the runtime state or configuration of the other workers. These are edit/update/reset/recover. <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>user</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">user</code></td><td style="text-align:center"><code>-</code></td><td> It is a list of users which gets compared to the user name authenticated by the web server. If the name is not contained in this list, access is denied. Per @@ -619,14 +668,14 @@ This directive can be used multiple time <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>user_case_insensitive</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">user_case_insensitive</code></td><td style="text-align:center"><code>false</code></td><td> By default, the user names are matched case sensitively. You can set user_case_insensitive=true to make the comparison case insensitive. This may be especially useful on the Windows platform. <p> This feature has been added in <b>jk 1.2.21</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>good</code></td><td align="center" valign="center"><code>a.o,a.n,a.b,a.r</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">good</code></td><td style="text-align:center"><code>a.o,a.n,a.b,a.r</code></td><td> For every load balancer worker, the status worker shows a summary of the state of its members. There are three such states, "good", "bad" and "degraded". @@ -662,7 +711,7 @@ This directive can be used multiple time <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>bad</code></td><td align="center" valign="center"><code>s,e</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">bad</code></td><td style="text-align:center"><code>s,e</code></td><td> See: "good". <p> By default, members are assumed to be "bad", if their activation @@ -674,20 +723,20 @@ This directive can be used multiple time <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>prefix</code></td><td align="center" valign="center"><code>worker</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">prefix</code></td><td style="text-align:center"><code>worker</code></td><td> The prefix, which will be used by the status worker when producing properties output (mime=prop). Each property key will be prefixed by this value. <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>ns</code></td><td align="center" valign="center"><code>jk:</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">ns</code></td><td style="text-align:center"><code>jk:</code></td><td> This directive can be used to customise the XML output from the status worker. If set to <b>-</b> no namespace will be used. <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>xmlns</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">xmlns</code></td><td style="text-align:center"><code>-</code></td><td> This directive can be used to customise the XML output from the status worker. If set to <b>-</b> no xmlns will be used. <p> @@ -696,7 +745,7 @@ Default value is set to xmlns:jk="http:/ <p> This feature has been added in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>doctype</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</td></tr><tr><td><code class="attributeName">doctype</code></td><td style="text-align:center"><code>-</code></td><td> This directive can be used to customise the XML output from the status worker. This value will be inserted to the output xml after the xml header. @@ -704,10 +753,9 @@ after the xml header. This feature has been added in <b>jk 1.2.20</b>. </p> </td></tr></table> -</blockquote></td></tr></table> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Advanced Worker Directives"><strong>Advanced Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Advanced_Worker_Directives">Advanced Worker Directives</h4><div class="text"> <p> This table lists more advanced configuration options. Most of them only apply to some types of workers. We use the abbreviations <b>AJP</b> for ajp13/ajp14 workers @@ -715,7 +763,8 @@ used directly via the workers.list, <b>L and <b>SUB</b> for the workers used indirectly in a load balancer worker as a sub worker or member. </p> -<table border="1" cellpadding="5"><tr><th width="10%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Worker Type</font></th><th width="8%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="72%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>connect_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +<advanceddirectives> +<directive name="connect_timeout" workers="AJP,SUB" default="0" required="false"> Connect timeout property told web server to send a PING request on ajp13 connection after connection is established. The parameter is the delay in milliseconds to wait for the PONG reply. The default value zero disables the timeout (infinite timeout). @@ -724,7 +773,9 @@ This features has been added in <b>jk 1. ping/pong support which has been implemented on Tomcat <b>3.3.2+, 4.1.28+ and 5.0.13+</b>. Disabled by default. </p> -</td></tr><tr><td align="left" valign="center"><code>prepost_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="prepost_timeout" workers="AJP,SUB" default="0" required="false"> Prepost timeout property told web server to send a PING request on ajp13 connection before forwarding to it a request. The parameter is the delay in milliseconds to wait for the PONG reply. The default value zero disables the timeout (infinite timeout). @@ -733,7 +784,9 @@ This features has been added in <b>jk 1. ping/pong support which has been implemented on <b>Tomcat 3.3.2+, 4.1.28+ and 5.0.13+</b>. Disabled by default. </p> -</td></tr><tr><td align="left" valign="center"><code>reply_timeout</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="reply_timeout" workers="AJP,SUB" default="0" required="false"> The parameter is the number of milliseconds to wait for success during a read event. So this is not a timeout for the complete answer time of a request, but only for the maximum time between two packets received from Tomcat. Usually the longest @@ -760,9 +813,11 @@ works on all servlet engines supporting The variable <b>JK_REPLY_TIMEOUT</b> and the worker map extension have been added in version <b>1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>retries</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>2</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive also exists for load balancer workers. -For those it has a <a href="#Load Balancing Directives">different meaning</a>.</font></p> +</directive> + +<directive name="retries" workers="AJP,SUB" default="2" required="false"> +<warn>This directive also exists for load balancer workers. +For those it has a <a href="#Load Balancing Directives">different meaning</a>.</warn> The maximum number of times that the worker will send a request to Tomcat in case of a communication error. Each retry will be done over another connection. The first time already gets counted, so retries=2 means @@ -775,12 +830,16 @@ of retries and <b>retry_interval</b> for <p> Until version <b>1.2.16</b> the default value was 3. </p> -</td></tr><tr><td align="left" valign="center"><code>retry_interval</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>100</code></td><td align="left" valign="center"> +</directive> + +<directive name="retry_interval" workers="AJP,SUB" default="100" required="false"> The amount of time in milliseconds the worker sleeps before doing any retry. <p> This features has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>recovery_options</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="recovery_options" workers="AJP,SUB" default="0" required="false"> Recovery options influence, how we should handle retries, in case we detect a problem with Tomcat. How often we will retry is controlled by the attribute <b>retries</b>. @@ -798,7 +857,9 @@ This features has been added in <b>jk 1. Option 4 has been added in version <b>1.2.16</b>, options 8 and 16 in version <b>1.2.24</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>fail_on_status</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="fail_on_status" workers="AJP,SUB" default="0" required="false"> Set this value to the HTTP status code that will cause a worker to fail if returned from Servlet container. Use this directive to deal with cases when the servlet container can temporary return non-200 responses @@ -816,7 +877,7 @@ This feature has been added in <b>jk 1.2 <p> Starting with <b>jk 1.2.22</b> it is possible to define multiple status codes separated by space or comma characters. -For example: <b class="code">worker.xxx.fail_on_status=500,503</b> +For example: <code>worker.xxx.fail_on_status=500,503</code> </p> <p> Starting with <b>jk 1.2.25</b> you can also tell the load @@ -824,9 +885,11 @@ balancer to not put a member into an err response returned with one of the status codes in fail_on_status. This feature gets enabled, by putting a minus sign in front of those status codes. -For example: <b class="code">worker.xxx.fail_on_status=-404,-500,503</b> +For example: <code>worker.xxx.fail_on_status=-404,-500,503</code> </p> -</td></tr><tr><td align="left" valign="center"><code>busy_limit</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="busy_limit" workers="AJP,SUB" default="0" required="false"> If set to a positive number, the worker will only be used for a request, if it is currently working on less than this number of concurrent requests. <p> @@ -836,7 +899,9 @@ Note that this is not related to the <b> <p> This feature is experimental and has been added in <b>jk 1.2.41</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>max_packet_size</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>8192</code></td><td align="left" valign="center"> +</directive> + +<directive name="max_packet_size" workers="AJP,SUB" default="8192" required="false"> This attribute sets the maximal AJP packet size in Bytes. It should be a multiple of 1024. Configuration values that are not a multiple of 1024 will be aligned to the next multiple of 1024. The maximum value is 65536. If you change @@ -851,7 +916,9 @@ certificate chains. <p> This feature has been added in <b>jk 1.2.19</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>prefer_ipv6</code></td><td align="left" valign="center"><code>AJP,SUB</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</directive> + +<directive name="prefer_ipv6" workers="AJP,SUB" default="false" required="false"> When compiled with IPV6 support, this directive forces IPV6 address resolution for host names which have both IPV6 and IPV4 addresses. In case there is no IPV6 address defined for the given hostname this directive in ineffective. This directive will @@ -860,7 +927,9 @@ either in IPV4 or IPV6 notation. <p> This feature has been added in <b>jk 1.2.38</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>secret</code></td><td align="left" valign="center"><code>AJP,SUB,LB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</directive> + +<directive name="secret" workers="AJP,SUB,LB" default="" required="false"> You can set a secret keyword on the Tomcat AJP Connector. Then only requests from workers with the same secret keyword will be accepted. <p> @@ -874,13 +943,17 @@ If you set a secret on a load balancer, <p> This feature has been added in <b>jk 1.2.12</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>mount</code></td><td align="left" valign="center"><code>AJP,LB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</directive> + +<directive name="mount" workers="AJP,LB" default="" required="false"> Space delimited list of uri maps the worker should handle. It is only used, if the worker is included in worker.list. <p> This directive can be used multiple times for the same worker. </p> -</td></tr><tr><td align="left" valign="center"><code>max_reply_timeouts</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="max_reply_timeouts" workers="LB" default="0" required="false"> If you use a <b>reply_timeout</b> for the members of a load balancer worker, and you want to tolerate a few requests taking longer than reply_timeout, you can set this attribute to some positive value. @@ -896,7 +969,9 @@ seconds). This features has been added in <b>jk 1.2.24</b> to make <b>reply_timeout</b> less sensitive for sporadic long running requests. </p> -</td></tr><tr><td align="left" valign="center"><code>recover_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>60</code></td><td align="left" valign="center"> +</directive> + +<directive name="recover_time" workers="LB" default="60" required="false"> The recover time is the time in seconds the load balancer will not try to use a worker, after it went into error state. Only after this time has passed, a worker in error state will be marked as in recovering, so that it will be @@ -910,7 +985,9 @@ runs of global maintenance is controlled Do not set recover_time to a very short time unless you understand the implications. Every recovery attempt for a worker in error is done by a real request! </p> -</td></tr><tr><td align="left" valign="center"><code>error_escalation_time</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>recover_time / 2</code></td><td align="left" valign="center"> +</directive> + +<directive name="error_escalation_time" workers="LB" default="recover_time / 2" required="false"> Setting a member of a load balancer into an error state is quite serious. E.g. it means that if you need stickyness, all access to the sessions of the respective node is blocked. @@ -924,20 +1001,26 @@ will the node be put into error state. <p> This features has been added in <b>jk 1.2.28</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>session_cookie</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>JSESSIONID</code></td><td align="left" valign="center"> +</directive> + +<directive name="session_cookie" workers="LB" default="JSESSIONID" required="false"> The name of the cookie that contains the routing identifier needed for session stickyness. The routing identifier is everything after a "." character in the value of the cookie. <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>session_path</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>;jsessionid</code></td><td align="left" valign="center"> +</directive> + +<directive name="session_path" workers="LB" default=";jsessionid" required="false"> The name of the path parameter that contains the routing identifier needed for session stickyness. The routing identifier is everything after a "." character in the value of the path parameter. <p> This feature has been added in <b>jk 1.2.27</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>set_session_cookie</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> +</directive> + +<directive name="set_session_cookie" workers="LB" default="false" required="false"> Activates generation of session stickyness cookies. Typically you don't need this. <p> Some web frameworks replace Tomcat session management and use a different way @@ -960,14 +1043,18 @@ we will send a new cookie to switch stic <p> This feature has been added in <b>jk 1.2.38</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>session_cookie_path</code></td><td align="left" valign="center"><code>LB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</directive> + +<directive name="session_cookie_path" workers="LB" default="" required="false"> This attribute is only used if "set_session_cookie" is set to <b>true</b>. See "set_session_cookie" for a description. If the value of "session_cookie_path" is empty (default), then the send cookie will not contain a PATH information. <p> This feature has been added in <b>jk 1.2.38</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>activation</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>Active</code></td><td align="left" valign="center"> +</directive> + +<directive name="activation" workers="SUB" default="Active" required="false"> Using this directive, a balanced worker of a load balancer can be configured as disabled or stopped. A disabled worker only gets requests, which belong to sessions for that worker. A stopped @@ -984,7 +1071,9 @@ This flag can be changed at runtime usin <p> This feature has been added in <b>jk 1.2.19</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>route</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> +</directive> + +<directive name="route" workers="SUB" default="worker name" required="false"> Normally the name of a balanced worker in a load balancer is equal to the jvmRoute of the corresponding Tomcat instance. If you want to include a worker corresponding to a Tomcat instance into several load balancers with different balancing configuration @@ -1008,7 +1097,9 @@ This feature has been added in <b>jk 1.2 The automatic domain rule has been added in <b>jk 1.2.20</b>.<br> The attribute has been renamed from jvm_route to route in <b>jk 1.2.20</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>distance</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> +</directive> + +<directive name="distance" workers="SUB" default="0" required="false"> An integer number to express preferences between the balanced workers of an lb worker. A load balancer will never choose some balanced worker @@ -1020,7 +1111,9 @@ workers of a larger distance are eligibl <p> This feature has been added in <b>jk 1.2.16</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>domain</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</directive> + +<directive name="domain" workers="SUB" default="" required="false"> Domain directive can be used only when the worker is a member of the load balancer. Workers that share the same domain name are treated as single worker. If sticky_session is used, then the domain name is used as session route. @@ -1032,7 +1125,9 @@ transfer between them. <p> This feature has been added in <b>jk 1.2.8</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>redirect</code></td><td align="left" valign="center"><code>SUB</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> +</directive> + +<directive name="redirect" workers="SUB" default="" required="false"> Set to the name of the preferred failover worker. If worker matching SESSION ID is in error state then the redirect worker will be used instead. It will be used even if being disabled, thus offering hot standby. @@ -1043,17 +1138,19 @@ to this route of the preferred failover <p> This feature has been added in <b>jk 1.2.9</b>. </p> -</td></tr></table> -</blockquote></td></tr></table> +</directive> + +</advanceddirectives> +</div></div> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Deprecated Worker Directives"><strong>Deprecated Worker Directives</strong></a></font></td></tr><tr><td><blockquote> -<br> +<div class="subsection"><h4 id="Deprecated_Worker_Directives">Deprecated Worker Directives</h4><div class="text"> <p>The following directives have been deprecated in the past. We include their documentation in case you need to use an older version of mod_jk. We urge you to update and not use them any more. Please migrate your existing configurations. </p> -<table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Directive</font></th><th width="15%" bgcolor="#023264"><font color="#ffffff">Successor</font></th><th width="10%" bgcolor="#023264"><font color="#ffffff">Default</font></th><th width="60%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code>cachesize</code></td><td align="center" valign="center"><code>connection_pool_size</code></td><td align="center" valign="center"><code>see text</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> +<deprecations> +<directive name="cachesize" successor="connection_pool_size" default="see text" required="false"> +<warn>This directive has been deprecated since 1.2.16.</warn> Cachesize defines the number of connections made to the AJP backend that are maintained as a connection pool. It will limit the number of those connection that each web server child @@ -1066,9 +1163,11 @@ the number of threads per child process its default value to match the current ThreadsPerChild Apache configuration. For IIS the default value is 10. For web servers other than Apache or IIS this value has to be set manually. </p> -<p><font color="#ff0000">Do not use cachesize with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</font></p> -</td></tr><tr><td align="left" valign="center"><code>cache_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> +<warn>Do not use cachesize with values higher then 1 on <b>Apache 2.x with prefork MPM</b> or <b>Apache 1.3.x</b>!</warn> +</directive> + +<directive name="cache_timeout" successor="connection_pool_timeout" default="0" required="false"> +<warn>This directive has been deprecated since 1.2.16.</warn> Cache timeout property should be used with <b>cachesize</b> to specify how to time JK should keep an open socket in cache before closing it. This property should be used to reduce the number of threads on the Tomcat web server. @@ -1082,8 +1181,10 @@ until killed. And since the web server w to handle high-load, even it the child/thread handle only static contents, you could finish having many unused ajp13 threads on the Tomcat side. </p> -</td></tr><tr><td align="left" valign="center"><code>recycle_timeout</code></td><td align="center" valign="center"><code>connection_pool_timeout</code></td><td align="center" valign="center"><code>0</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.16.</font></p> +</directive> + +<directive name="recycle_timeout" successor="connection_pool_timeout" default="0" required="false"> +<warn>This directive has been deprecated since 1.2.16.</warn> The number of seconds that told web server to cut an ajp13 connection after some time of inactivity. When choosing an endpoint for a request and the assigned socket is open, it will be closed if it was not used for the configured time. @@ -1091,19 +1192,25 @@ It's a good way to ensure that there won with the extra cost you need to reopen the socket next time a request be forwarded. This property is very similar to <b>cache_timeout</b> but works also in non-cache mode. If set to value zero (default) no recycle will took place. -</td></tr><tr><td align="left" valign="center"><code>balanced_workers</code></td><td align="center" valign="center"><code>balance_workers</code></td><td align="center" valign="center"><code>-</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.7.</font></p> +</directive> + +<directive name="balanced_workers" successor="balance_workers" default="" required="true"> +<warn>This directive has been deprecated since 1.2.7.</warn> A comma separated list of workers that the load balancer need to manage. -</td></tr><tr><td align="left" valign="center"><code>disabled</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> +</directive> + +<directive name="disabled" successor="activation" default="false" required="false"> +<warn>This directive has been deprecated since 1.2.19.</warn> If set to <b>true</b> the worker will be disabled if member of load balancer. This flag can be changed at runtime using status worker. <p> This feature has been added in <b>jk 1.2.9</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>stopped</code></td><td align="center" valign="center"><code>activation</code></td><td align="center" valign="center"><code>false</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.19.</font></p> +</directive> + +<directive name="stopped" successor="activation" default="false" required="false"> +<warn>This directive has been deprecated since 1.2.19.</warn> If set to <b>true</b> the worker will be stopped if member of load balancer. The flag is needed for stop complete traffic of a sticky session worker. It is only useful, when you have a cluster that replicated the sessions. @@ -1111,8 +1218,10 @@ This flag can be changed at runtime usin <p> This feature has been added in <b>jk 1.2.11</b>. </p> -</td></tr><tr><td align="left" valign="center"><code>jvm_route</code></td><td align="center" valign="center"><code>route</code></td><td align="center" valign="center"><code>worker name</code></td><td align="left" valign="center"> -<p><font color="#ff0000">This directive has been deprecated since 1.2.20.</font></p> +</directive> + +<directive name="jvm_route" successor="route" default="worker name" required="false"> +<warn>This directive has been deprecated since 1.2.20.</warn> Normally the name of a balanced worker in a load balancer is equal to the jvmRoute of the corresponding Tomcat instance. If you want to include a worker corresponding to a Tomcat instance into several load balancers with different balancing configuration @@ -1130,9 +1239,23 @@ This attribute can be changed at runtime <p> This feature has been added in <b>jk 1.2.16</b>. </p> -</td></tr></table> -</blockquote></td></tr></table> +</directive> + +</deprecations> +</div></div> -</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2018, Apache Software Foundation - </em></font></div></td></tr></table></body></html> \ No newline at end of file +</div><div class="noprint"><h3 id="comments_section"> + Comments + </h3><div class="text"><p class="notice"><strong>Notice:</strong> This comments section collects your suggestions + on improving documentation for Apache Tomcat.<br><br> + If you have trouble and need help, read + <a href="https://tomcat.apache.org/findhelp.html">Find Help</a> page + and ask your question on the tomcat-users + <a href="https://tomcat.apache.org/lists.html">mailing list</a>. + Do not ask such questions here. This is not a Q&A section.<br><br> + The Apache Comments System is explained <a href="../../comments.html">here</a>. + Comments may be removed by our moderators if they are either + implemented or considered invalid/off-topic. + </p><div id="comments_thread"></div></div></div></div></div></div></div><footer><div id="footer"> + Copyright © 1999-yyyy, The Apache Software Foundation + </div></footer></div></body></html> \ No newline at end of file
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org