Add remaining attributes to documentation
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 17 May 2011 17:24:36 +0000 (17:24 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 17 May 2011 17:24:36 +0000 (17:24 +0000)
AJP-NIO now passes Servlet TCK - remove experimental label

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1104422 13f79535-47bb-0310-9956-ffa450edef68

webapps/docs/changelog.xml
webapps/docs/config/ajp.xml

index 1448ff0..8d3579a 100644 (file)
@@ -46,8 +46,7 @@
   <subsection name="Coyote">
     <changelog>
       <add>
-        <bug>51145</bug>: Add an experimental (not all TCK tests pass at the
-        moment) AJP-NIO connector. (markt/rjung)
+        <bug>51145</bug>: Add an AJP-NIO connector. (markt/rjung)
       </add>
     </changelog>
   </subsection>
index 95dd501..a25e7f9 100644 (file)
         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">
     </attributes>
   </subsection>
 
+  <subsection name="NIO specific configuration">
+
+    <p>The following attributes are specific to the NIO connector.</p>
+
+    <attributes>
+
+      <attribute name="socket.directBuffer" required="false">
+        <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>
+      </attribute>
+      
+      <attribute name="socket.appReadBufSize" required="false">
+        <p>(int)Each connection that is opened up in Tomcat get associated with
+        a read ByteBuffer. This attribute controls the size of this buffer. 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>
+      </attribute>
+
+      <attribute name="socket.appWriteBufSize" required="false">
+        <p>(int)Each connection that is opened up in Tomcat get associated with
+        a write ByteBuffer. This attribute controls the size of this buffer. 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>
+      </attribute>
+
+      <attribute name="socket.bufferPool" required="false">
+        <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> for unlimited cache and <code>0</code> for no cache.</p>
+      </attribute>
+
+      <attribute name="socket.bufferPoolSize" required="false">
+        <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>
+      </attribute>
+
+      <attribute name="socket.processorCache" required="false">
+        <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> for unlimited cache and <code>0</code> for no cache.</p>
+      </attribute>
+
+      <attribute name="socket.keyCache" required="false">
+        <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> for unlimited cache and <code>0</code> for no cache.</p>
+      </attribute>
+
+      <attribute name="socket.eventCache" required="false">
+        <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> for unlimited cache and <code>0</code> for no cache.</p>
+      </attribute>
+
+      <attribute name="selectorPool.maxSelectors" required="false">
+        <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>
+      </attribute>
+
+      <attribute name="selectorPool.maxSpareSelectors" required="false">
+        <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'd. 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>
+      </attribute>
+
+      <attribute name="command-line-options" required="false">
+        <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>
+      </attribute>
+
+    </attributes>
+  </subsection>
+
   <subsection name="APR/native specific configuration">
   
     <p>The APR/native implementation supports the following attributes in
 
   <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