[jboss-cvs] JBoss Messaging SVN: r8547 - branches/Branch_1_4/integration/EAP5/etc/remoting.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 12 11:49:06 EDT 2012


Author: dgrove_redhat.com
Date: 2012-07-12 11:49:06 -0400 (Thu, 12 Jul 2012)
New Revision: 8547

Modified:
   branches/Branch_1_4/integration/EAP5/etc/remoting/remoting-bisocket-service.xml
Log:
JBMESSAGING-1929

Modified: branches/Branch_1_4/integration/EAP5/etc/remoting/remoting-bisocket-service.xml
===================================================================
--- branches/Branch_1_4/integration/EAP5/etc/remoting/remoting-bisocket-service.xml	2012-07-10 00:56:49 UTC (rev 8546)
+++ branches/Branch_1_4/integration/EAP5/etc/remoting/remoting-bisocket-service.xml	2012-07-12 15:49:06 UTC (rev 8547)
@@ -19,33 +19,51 @@
             <invoker transport="bisocket">
             
                <!-- There should be no reason to change these parameters - warning!
-                    Changing them may stop JBoss Messaging working correctly -->            
+                    Changing them may stop JBoss Messaging working correctly 
+               -->            
                <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
                <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
                <attribute name="dataType" isParam="true">jms</attribute>
-               <attribute name="socket.check_connection" isParam="true">false</attribute>               
                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
                <attribute name="serverBindPort">${jboss.messaging.connector.bisocket.port:4457}</attribute>
                <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
                <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
                <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
 
-               <!-- the following parameters are useful when there is a firewall between client and server. Adjust the values to suit your environment.-->
-               <attribute name="numberOfCallRetries" isParam="true">5</attribute>
+               <!-- End immutable parameters -->
+
+               <!-- the following parameters are useful when there is a firewall between client and server. Adjust the values 
+                    to suit your environment.
+                    
+                    numberOfCallRetries: Perhaps better named "numberOfCallTrys" as the first contact attempt is counted.  So
+                    a value of 2 is the first attempt and one retry.  Note that in most environments, if the first retry does not 
+                    succeed, further retrying will also likely fail.
+                    
+                    pingFrequency: how often to ping in milliseconds.
+                    
+                    pingWindowFactor: the server waits pingFrequency * pingWindowFactor for a ping reply
+               -->                              
+			   <!--
+               <attribute name="numberOfCallRetries" isParam="true">2</attribute>
                <attribute name="pingFrequency" isParam="true">30000</attribute>
-               <attribute name="pingWindowFactor" isParam="true">71582</attribute>
+               <attribute name="pingWindowFactor" isParam="true">2</attribute>
                <attribute name="generalizeSocketException" isParam="true">true</attribute>
-
-               <!-- Now remoting supports socket write timeout configuration. Uncomment this if you need it. -->
-               <!--               
-               <attribute name="writeTimeout" isParam="true">30000</attribute>
                -->
 
-               <!-- End immutable parameters -->
+               <!-- If this attribute is set to "true" then remoting will attempt to round-trip a single
+                    byte in order to test the networking connection on every request.  While this is a 
+                    heavy/expensive operation, it works around a bug in the JDK SSL implementation that
+                    can cause a deadlock when both a read and close operation are present.   
+                -->
+               <attribute name="socket.check_connection" isParam="true">false</attribute>               
                
                <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
                
-               <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
+               <!-- Periodicity of client pings  in milliseconds. Server window by default is twice this figure.  
+                    Note that these values configure the mechanism by which remoting declares a client 
+                    connection invalid.  Care must be taken not to lower these values below the time taken by
+                    full garbage collection events and other system stalls.
+               -->                               
                <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
                <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
                <attribute name="validatorPingTimeout" isParam="true">5000</attribute>
@@ -54,22 +72,47 @@
                <attribute name="callbackErrorsAllowed">1</attribute>
                <attribute name="registerCallbackListener">false</attribute>
                <attribute name="useClientConnectionIdentity" isParam="true">true</attribute>
-	       	       
-               <attribute name="timeout" isParam="true">300000</attribute>
 
+               <!-- Socket read and write timeouts in milliseconds.  These default to 30 seconds.  While
+                    lower values can detect networking and client failures quicker, lowering these values
+                    risks not waiting long enough in some scenarios.  
+               -->	       	       
+               <attribute name="timeout" isParam="true">30000</attribute>
+               <attribute name="writeTimeout" isParam="true">30000</attribute>
+
                <!-- Max Number of connections in client pool. This should be significantly higher than
-                    the max number of sessions/consumers you expect -->
+                    the max number of sessions/consumers you expect 
+               -->
                <attribute name="JBM_clientMaxPoolSize" isParam="true">200</attribute>
                
                <!-- The maximum time to wait before timing out on trying to write a message to socket for delivery -->
                <attribute name="callbackTimeout">10000</attribute> 
                
                <!-- Use these parameters to specify values for binding and connecting control connections to 
-                    work with your firewall/NAT configuration
+                    work with your firewall/NAT configuration.
+                    
+                    secondaryBindPort: specifies the secondary listening port.  Normally this is a ephemeral or
+                    random system assigned port.  It is often desirable to assign this port as 4458.
+                    
+                    secondaryConnectPort: JBoss remoting provides the client a configuration.  The client needs to
+                    know how to find the secondary bind port.  In a NAT environment with port forwarding, this 
+                    should be set to the the external port that the clients will contact.
+               -->
+			   <!--
                <attribute name="secondaryBindPort">xyz</attribute>                           
                <attribute name="secondaryConnectPort">abc</attribute>               
                -->
-                          
+                      
+               <!-- See JBREM-1277.  When the server has many clients and is processing many connection attempts, 
+                    raising the priority of the accept threads is needed.
+               -->
+               <attribute name="acceptThreadPriorityIncrement">1</attribute>
+                      
+               <!-- Disable the Nagle algorithm.  Nagle can have bad interactions with the TCP delayed ack
+                    mechanism.  See http://en.wikipedia.org/wiki/Nagle's_algorithm
+               -->
+               <attribute name="enableTcpNoDelay" isParam="true">true</attribute>
+                                               
             </invoker>
             <handlers>
                <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>



More information about the jboss-cvs-commits mailing list