Author: rjung Date: Sun May 15 14:23:33 2011 New Revision: 1103389 URL: http://svn.apache.org/viewvc?rev=1103389&view=rev Log: Add docs for experimental AJP-NIO connector.
Modified: tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/ajp.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1103389&r1=1103388&r2=1103389&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Sun May 15 14:23:33 2011 @@ -59,6 +59,13 @@ </fix> </changelog> </subsection> + <subsection name="Web applications"> + <changelog> + <add> + Add docs for experimental AJP-NIO connector. (markt/rjung) + </add> + </changelog> + </subsection> </section> <section name="Tomcat 7.0.14 (markt)" rtext="released 2011-05-12"> <subsection name="Catalina"> Modified: tomcat/trunk/webapps/docs/config/ajp.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/ajp.xml?rev=1103389&r1=1103388&r2=1103389&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/ajp.xml (original) +++ tomcat/trunk/webapps/docs/config/ajp.xml Sun May 15 14:23:33 2011 @@ -51,7 +51,9 @@ <p>The native connectors supported with this Tomcat release are: <ul> - <li>JK 1.2.x with any of the supported servers</li> + <li>JK 1.2.x with any of the supported servers. See + <a href="http://tomcat.apache.org/connectors-doc/">the JK docs</a> + for details.</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 @@ -151,9 +153,18 @@ mechanism described above, the following values may be used:<br/> <code>org.apache.coyote.ajp.AjpProtocol</code> - blocking Java connector<br/> + <code>org.apache.coyote.ajp.AjpNioProtocol</code> + - non blocking Java connector.<br/> <code>org.apache.coyote.ajp.AjpAprProtocol</code> - the APR/native connector.<br/> - Custom implementations may also be used.</p> + Custom implementations may also be used.<br/> + Take a look at our <a href="#Connector Comparison">Connector + Comparison</a> chart. + </p> + <p> + <strong><font color="red">WARNING</font></strong>: The NIO connector for AJP + is experimentaland not yet fully functional. + </p> </attribute> <attribute name="proxyName" required="false"> @@ -233,14 +244,12 @@ <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> - - <p>The BIO and APR/native implementations (there is no NIO implementation for - APR) both support the following additional attributes in addition to the - standard Connector attributes listed above:</p> + <p>The standard AJP connectors (BIO, NIO and APR/native) all support the + following attributes in addition to the common Connector attributes listed + above.</p> + + <p><strong><font color="red">WARNING</font></strong>: The NIO connector for AJP + is experimentaland not yet fully functional.</p> <attributes> @@ -321,7 +330,7 @@ falls below this value. The operating system may still accept connections based on the <code>acceptCount</code> setting. Default value varies by connector type. For BIO the default is the value of - <strong>maxThreads</strong>.For APR/native, the default is + <strong>maxThreads</strong>. For APR/native, the default is <code>8192</code>.</p> <p>Note that for APR/native on Windows, the configured value will be reduced to the highest multiple of 1024 that is less than or equal to @@ -392,20 +401,13 @@ </subsection> - <subsection name="BIO specific configuration"> - - <p>The BIO implementation supports the following attributes in addition to - the common Connector and AJP attributes listed above.</p> + <subsection name="Java TCP socket attributes"> + + <p>The BIO and NIO implementation support the following Java TCP socket + attributes in addition to the common Connector and HTTP attributes listed + above.</p> <attributes> - <attribute name="maxConnections" required="false"> - <p>The maximum number of connections that the server will accept and - process at any given time. When this number has been reached, the server - will not accept any more connections until the number of connections - falls below this value. The operating system may still accept - connections based on the <code>acceptCount</code> setting. Default value - is <code>10000</code>.</p> - </attribute> <attribute name="socket.rxBufSize" required="false"> <p>(int)The socket receive buffer (SO_RCVBUF) size in bytes. JVM default used if not set.</p> @@ -449,33 +451,33 @@ <attribute name="socket.soTimeout" required="false"> <p>This is equivalent to standard attribute <strong>connectionTimeout</strong>.</p> - </attribute> + </attribute> <attribute name="socket.soTrafficClass" required="false"> <p>(byte)Value between <code>0</code> and <code>255</code> for the traffic class on the socket. JVM default used if not set.</p> - <p><strong>Note</strong>On some JDK versions, setting + <p><strong>Note:</strong> On some JDK versions, setting <strong>soTrafficClass</strong> causes a problem. A work around for this is to add the <code>-Djava.net.preferIPv4Stack=true</code> value to your JVM options.</p> - </attribute> + </attribute> <attribute name="socket.performanceConnectionTime" required="false"> <p>(int)The first value for the performance settings. See <a href="http://download.oracle.com/javase/6/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a> All three performance attributes must be set else the JVM defaults will be used for all three.</p> - </attribute> + </attribute> <attribute name="socket.performanceLatency" required="false"> <p>(int)The second value for the performance settings. See <a href="http://download.oracle.com/javase/6/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a> All three performance attributes must be set else the JVM defaults will be used for all three.</p> - </attribute> + </attribute> <attribute name="socket.performanceBandwidth" required="false"> <p>(int)The third value for the performance settings. See <a href="http://download.oracle.com/javase/6/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a> All three performance attributes must be set else the JVM defaults will be used for all three.</p> - </attribute> + </attribute> <attribute name="socket.unlockTimeout" required="false"> <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> @@ -535,6 +537,28 @@ <a href="../proxy-howto.html">Proxy Support HOW-TO</a>.</p> </subsection> + + <subsection name="Connector Comparison"> + + <p><strong><font color="red">WARNING</font></strong>: The NIO connector for AJP + is experimentaland not yet fully functional.</p> + <p>Below is a small chart that shows how the connectors differentiate.</p> + <source> + Java Blocking Connector Java Nio Blocking Connector APR/native Connector + BIO NIO APR + Classname AjpProtocol AjpNioProtocol AjpAprProtocol + Tomcat Version 3.x onwards 7.x onwards 5.5.x onwards + Support Polling NO YES YES + Polling Size N/A maxConnections maxConnections + Read Request Headers Blocking Non Blocking Blocking + Read Request Body Blocking Sim Blocking Blocking + Write Response Blocking Sim Blocking Blocking + Wait for next Request Blocking Non Blocking Non Blocking + Max Connections maxConnections maxConnections maxConnections + + </source> + + </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org