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 <= bindPort <= 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]