You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/10/11 21:36:57 UTC

svn commit: r462913 - in /tomcat/tc6.0.x/trunk: java/org/apache/catalina/tribes/transport/ReceiverBase.java webapps/docs/config/cluster-receiver.xml

Author: fhanik
Date: Wed Oct 11 12:36:55 2006
New Revision: 462913

URL: http://svn.apache.org/viewvc?view=rev&rev=462913
Log:
Documented all the receiver options

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
    tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?view=diff&rev=462913&r1=462912&r2=462913
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Wed Oct 11 12:36:55 2006
@@ -58,7 +58,7 @@
     private long tcpSelectorTimeout = 5000;
     //how many times to search for an available socket
     private int autoBind = 10;
-    private int maxThreads = 15;
+    private int maxThreads = 6;
     private int minThreads = 6;
     private boolean tcpNoDelay = true;
     private boolean soKeepAlive = false;

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml?view=diff&rev=462913&r1=462912&r2=462913
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml Wed Oct 11 12:36:55 2006
@@ -42,60 +42,99 @@
   <subsection name="Common Attributes">
   <attributes>
     <attribute name="className" required="true">
-    </attribute>
-  </attributes>
-  </subsection>
-  <subsection name="NioReceiver">
-  <attributes>
-    <attribute name="className" required="true">
+      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
     </attribute>
     <attribute name="address" required="false">
-    </attribute>
-    <attribute name="bind" required="false">
+      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>.
     </attribute>
     <attribute name="direct" required="false">
+      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.
     </attribute>
     <attribute name="port" required="false">
+      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-4010.
+    </attribute>
+    <attribute name="autoBind" required="false">
+      Default value is <code>10</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.
+    </attribute>
+    <attribute name="securePort" required="false">
+      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.
     </attribute>
     <attribute name="selectorTimeout" required="false">
+      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.
     </attribute>
     <attribute name="maxThreads" required="false">
+      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 effiecency, tune this value according to your 
+      own test results.
     </attribute>
     <attribute name="minThreads" required="false">
+      Minimum number of threads to be created when the receiver is started up. Default value is <code>6</code>
     </attribute>
     <attribute name="ooBInline" required="false">
+      Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
     </attribute>
     <attribute name="rxBufSize" required="false">
+      The receiver buffer size on the receiving sockets. Value is in bytes, the default value is <code>43800</code> bytes.
     </attribute>
     <attribute name="txBufSize" required="false">
-    </attribute>
-    <attribute name="securePort" required="false">
+      The sending buffer size on the receiving sockets. Value is in bytes, the default value is <code>25188</code> bytes.
     </attribute>
     <attribute name="soKeepAlive" required="false">
+      Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
     </attribute>
     <attribute name="soLingerOn" required="false">
+      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>.
     </attribute>
     <attribute name="soLingerTime" required="false">
+      Sets the SO_LINGER socket option time value. The value is in seconds. 
+      The default value is <code>3</code> seconds.
     </attribute>
     <attribute name="soReuseAddress" required="false">
+     Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
     </attribute>
     <attribute name="soTrafficClass" required="false">
+     Sets the traffic class level for the socket, the value is between 0 and 255.
+     Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
+     java.net.Socket#setTrafficClass(int)</a>.
     </attribute>
     <attribute name="tcpNoDelay" required="false">
+     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>
     </attribute>
     <attribute name="timeout" required="false">
-    </attribute>
-    <attribute name="autoBind" required="false">
+     Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
+     milliseconds.
     </attribute>
     <attribute name="useBufferPool" required="false">
+     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.
     </attribute>
   </attributes>
   </subsection>
+  <subsection name="NioReceiver">
+  </subsection>
   <subsection name="BioReceiver">
-  <attributes>
-    <attribute name="className" required="true">
-    </attribute>
-  </attributes>
   </subsection>
 
 </section>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org