From 25580c16975b9f71206c3a2a0d2a5928a332aaac Mon Sep 17 00:00:00 2001 From: rjung Date: Sun, 15 May 2011 14:23:33 +0000 Subject: [PATCH] Add docs for experimental AJP-NIO connector. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1103389 13f79535-47bb-0310-9956-ffa450edef68 --- webapps/docs/changelog.xml | 7 ++++ webapps/docs/config/ajp.xml | 82 +++++++++++++++++++++++++++++---------------- 2 files changed, 60 insertions(+), 29 deletions(-) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 7d80972c1..1448ff006 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -59,6 +59,13 @@ + + + + Add docs for experimental AJP-NIO connector. (markt/rjung) + + +
diff --git a/webapps/docs/config/ajp.xml b/webapps/docs/config/ajp.xml index ccc13a6cf..3e2639451 100644 --- a/webapps/docs/config/ajp.xml +++ b/webapps/docs/config/ajp.xml @@ -51,7 +51,9 @@

The native connectors supported with this Tomcat release are:

    -
  • JK 1.2.x with any of the supported servers
  • +
  • JK 1.2.x with any of the supported servers. See + the JK docs + for details.
  • mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), with AJP enabled: see the @@ -151,9 +153,18 @@ mechanism described above, the following values may be used:
    org.apache.coyote.ajp.AjpProtocol - blocking Java connector
    + org.apache.coyote.ajp.AjpNioProtocol + - non blocking Java connector.
    org.apache.coyote.ajp.AjpAprProtocol - the APR/native connector.
    - Custom implementations may also be used.

    + Custom implementations may also be used.
    + Take a look at our
    Connector + Comparison chart. +

    +

    + WARNING: The NIO connector for AJP + is experimentaland not yet fully functional. +

    @@ -233,14 +244,12 @@

    To use AJP, you must specify the protocol attribute (see above).

    -

    These implementations support the AJP 1.3 protocol.

    - -

    They support the following additional attributes (in addition to the - common attributes listed above):

    - -

    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:

    +

    The standard AJP connectors (BIO, NIO and APR/native) all support the + following attributes in addition to the common Connector attributes listed + above.

    + +

    WARNING: The NIO connector for AJP + is experimentaland not yet fully functional.

    @@ -321,7 +330,7 @@ falls below this value. The operating system may still accept connections based on the acceptCount setting. Default value varies by connector type. For BIO the default is the value of - maxThreads.For APR/native, the default is + maxThreads. For APR/native, the default is 8192.

    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 @@ - - -

    The BIO implementation supports the following attributes in addition to - the common Connector and AJP attributes listed above.

    + + +

    The BIO and NIO implementation support the following Java TCP socket + attributes in addition to the common Connector and HTTP attributes listed + above.

    - -

    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 acceptCount setting. Default value - is 10000.

    -

    (int)The socket receive buffer (SO_RCVBUF) size in bytes. JVM default used if not set.

    @@ -449,33 +451,33 @@

    This is equivalent to standard attribute connectionTimeout.

    -
    +

    (byte)Value between 0 and 255 for the traffic class on the socket. JVM default used if not set.

    -

    NoteOn some JDK versions, setting +

    Note: On some JDK versions, setting soTrafficClass causes a problem. A work around for this is to add the -Djava.net.preferIPv4Stack=true value to your JVM options.

    -
    +

    (int)The first value for the performance settings. See Socket Performance Options All three performance attributes must be set else the JVM defaults will be used for all three.

    -
    +

    (int)The second value for the performance settings. See Socket Performance Options All three performance attributes must be set else the JVM defaults will be used for all three.

    -
    +

    (int)The third value for the performance settings. See Socket Performance Options All three performance attributes must be set else the JVM defaults will be used for all three.

    -
    +

    (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 250 and the value is in milliseconds

    @@ -535,6 +537,28 @@ Proxy Support HOW-TO.

    + + + +

    WARNING: The NIO connector for AJP + is experimentaland not yet fully functional.

    +

    Below is a small chart that shows how the connectors differentiate.

    + + 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 + + + +
-- 2.11.0