Author: fhanik
Date: Mon Oct 16 12:35:42 2006
New Revision: 464635

URL: http://svn.apache.org/viewvc?view=rev&rev=464635
Log:
more cleanup, need to add correct documentation

Modified:
    tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml?view=diff&rev=464635&r1=464634&r2=464635
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml Mon Oct 16 12:35:42 2006
@@ -34,6 +34,54 @@
     2. Multicast port is 45564<br/>
     3. The IP broadcasted is 
<code>java.net.InetAddress.getLocalHost().getHostAddress()</code><br/>
     4. The TCP port listening for replication messages is the first available 
server socket in range <code>4000-4100</code><br/>
+    5. Two listeners are configured <code>ClusterSessionListener</code> and 
<code>JvmRouteSessionIDBinderListener</code><br/>
+    6. Two interceptors are configured <code>TcpFailureDetector</code> and 
<code>MessageDispatch15Interceptor</code><br/>
+    The following is the default cluster configuration:<br/>
+    <source>
+        &lt;Cluster 
className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;
+                 channelSendOptions=&quot;6&quot;&gt;
+
+          &lt;Manager 
className=&quot;org.apache.catalina.ha.session.BackupManager&quot;
+                   expireSessionsOnShutdown=&quot;false&quot;
+                   notifyListenersOnReplication=&quot;true&quot;
+                   mapSendOptions=&quot;6&quot;/&gt;
+          &lt;!--
+          &lt;Manager 
className=&quot;org.apache.catalina.ha.session.DeltaManager&quot;
+                   expireSessionsOnShutdown=&quot;false&quot;
+                   notifyListenersOnReplication=&quot;true&quot;/&gt;
+          --&gt;        
+          &lt;Channel 
className=&quot;org.apache.catalina.tribes.group.GroupChannel&quot;&gt;
+            &lt;Membership 
className=&quot;org.apache.catalina.tribes.membership.McastService&quot;
+                        address=&quot;228.0.0.4&quot;
+                        port=&quot;45564&quot;
+                        frequency=&quot;500&quot;
+                        dropTime=&quot;3000&quot;/&gt;
+            &lt;Receiver 
className=&quot;org.apache.catalina.tribes.transport.nio.NioReceiver&quot;
+                      address=&quot;auto&quot;
+                      port=&quot;4000&quot;
+                      selectorTimeout=&quot;5000&quot;
+                      maxThreads=&quot;6&quot;/&gt;
+
+            &lt;Sender 
className=&quot;org.apache.catalina.tribes.transport.ReplicationTransmitter&quot;&gt;
+              &lt;Transport 
className=&quot;org.apache.catalina.tribes.transport.nio.PooledParallelSender&quot;/&gt;
+            &lt;/Sender&gt;
+            &lt;Interceptor 
className=&quot;org.apache.catalina.tribes.group.interceptors.TcpFailureDetector&quot;/&gt;
+            &lt;Interceptor 
className=&quot;org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor&quot;/&gt;
+          &lt;/Channel&gt;
+
+          &lt;Valve 
className=&quot;org.apache.catalina.ha.tcp.ReplicationValve&quot;
+                 
filter=&quot;.*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;&quot;/&gt;
+
+          &lt;Deployer 
className=&quot;org.apache.catalina.ha.deploy.FarmWarDeployer&quot;
+                    tempDir=&quot;/tmp/war-temp/&quot;
+                    deployDir=&quot;/tmp/war-deploy/&quot;
+                    watchDir=&quot;/tmp/war-listen/&quot;
+                    watchEnabled=&quot;false&quot;/&gt;
+
+          &lt;ClusterListener 
className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;
+          &lt;ClusterListener 
className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;
+        &lt;/Cluster&gt;    
+    </source>
   </p>
 </section>
 
@@ -254,12 +302,15 @@
         |                   \
         |                   -- DeltaManager
         |
-     -----------------------------
-     |          |         |       \
+     ---------------------------
+        |                       \
+      Channel                    \
+    ----------------------------- \
+     |          |         |        \
    Receiver    Sender   Membership  \
-     \                               -- Valve
-     -- SocketReplicationListener    |      \
-     -- ReplicationListener          |       -- ReplicationValve
+                                     -- Valve
+                                     |      \
+                                     |       -- ReplicationValve
                                      |       -- JvmRouteBinderValve 
                                      |
                                      -- LifecycleListener 
@@ -275,26 +326,6 @@
       
       
 </source>
-<source>
-   Sender
-    \
-    -- ReplicationTransmitter 
-             |
-             ---------
-                      \
-                   IDataSender
-                          \
-                          |
-                          --- (sync)
-                          |  \
-                          |   -- PooledSocketSender   (pooled)
-                          |   -- SockerSender         (synchronous)
-                          |                                
-                          --- (async)
-                             \
-                              -- AsyncSocketSender     (asynchronous)
-                              -- FastAsyncSocketSender (fastasyncqueue)        
 
-</source>
 </p>
 
 </section>
@@ -316,7 +347,7 @@
     replication.
 </p>
 <p>
-    One of the most important performance considerations is the synchronous 
(pooled or not pooled) versus asynchronous replication
+    One of the most important performance considerations is the synchronous 
versus asynchronous replication
     mode. In a synchronous replication mode the request doesn't return until 
the replicated session has been
     sent over the wire and reinstantiated on all the other cluster nodes.
     There are two settings for synchronous replication. Pooled or not pooled.
@@ -333,659 +364,6 @@
     During async replication, the request is returned before the data has been 
replicated. async replication yields shorter
     request times, and synchronous replication guarantees the session to be 
replicated before the request returns.
 </p>
-<p>
-    The parameter &quot;replicationMode&quot; has four different settings: 
&quot;pooled&quot;, &quot;synchronous&quot;, &quot;asynchronous&quot; and 
&quot;fastasyncqueue&quot;
-</p>
-
-<section name="Simple Cluster Configuration">
-<p>
-Simple one line configuration<br/>
-<source>
-   &lt;Server                 port="8011" 
-                       shutdown="SHUTDOWN" &gt;
-    &lt;GlobalNamingResources&gt;
-    &lt;Resource              name="UserDatabase" auth="Container"
-                           type="org.apache.catalina.UserDatabase"
-                    description="User database that can be updated and saved"
-                        
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
-                        pathname="conf/tomcat-users.xml" /&gt;
-  &lt;/GlobalNamingResources&gt;
-    &lt;Service              name="Catalina"&gt;
-        &lt;Connector        port="9012" 
-                      protocol="AJP/1.3"
-        &lt;Connector         port="9013"
-                     maxThreads="100"
-                minSpareThreads="4"
-                maxSpareThreads="4"
-        /&gt;
-        &lt;Engine            name="Catalina" 
-                   defaultHost="localhost" 
-                        jvmRoute="node1"&gt;
-        &lt;Realm        
className="org.apache.catalina.realm.UserDatabaseRealm"
-                   resourceName="UserDatabase" /&gt;
-            &lt;Host          name="localhost"
-                        appBase="webapps"&gt;
-             &lt;Cluster 
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
-            &lt;/Host&gt;
-        &lt;/Engine&gt;
-    &lt;/Service&gt;
-&lt;/Server&gt;
-</source>
-<br/>
-The default mode configuration setup a <em>fastasyncqueue</em> mode cluster 
configuration with following
-parameters:
-<ul>
-    <li>Open Membership receiver at <em>228.0.0.4</em> and send to multicast 
udp port <em>8012</em></li>
-    <li>Send membership every 1 sec and drop member after 30sec.</li>
-    <li>Open message receiver at default ip interface at first free port 
between <em>8015</em> and <em>8019</em>.</li>
-    <li>Receiver message with <em>SocketReplicationListener</em> </li>
-    <li>Configure a <em>ReplicationTransmitter</em> with 
<em>fastasyncqueue</em> sender mode.</li>
-    <li>Add <em>ClusterSessionListener</em> and <em>ReplicationValve</em>.</li>
-</ul> 
-</p>
-<p>
-<b>NOTE</b>: Use this configuration when you need very quick a test cluster 
with
-at your developer machine. You can change the default attributes from cluster 
sub elements.
-Use following cluster attribute prefixes <em>sender.</em>,
-<b>receiver.</b>, <b>service.</b>, <b>manager.</b>, <b>valve.</b> and 
<b>listener.</b>.
-<br/><b>Example</b> configure cluster at windows laptop with network 
connection and
-change receiver port range<br/>
-<source>
-&lt;Cluster                 
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
-          service.mcastBindAddress="127.0.0.1" 
-            receiver.tcpListenPort="9070" 
-         receiver.tcpListenMaxPort="9075" /&gt;
-</source>    
-<br/>       
-<b>WARNING</b>: When you add you sub elements, there overwrite the defaults 
complete.
-<br/><b>Example</b> configure cluster with cluster failover jsessionid 
support. In this
-case you need also the defaultmode Cluster listener 
<em>ClusterSessionListener</em> and <em>ReplicationValve</em>.<br/>
-<source>
-&lt;Cluster                 
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
-          service.mcastBindAddress="127.0.0.1" 
-            receiver.tcpListenPort="9070" 
-         receiver.tcpListenMaxPort="9075" &gt;
-       &lt;ClusterListener  
className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
-       &lt;ClusterListener  
className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" 
/&gt;
-       &lt;Valve            
className="org.apache.catalina.cluster.tcp.ReplicationValve"
-                            
filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
-                  primaryIndicator="true" /&gt;
-          &lt;Valve            
className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
-                             enabled="true"  /&gt;
-&lt;Cluster/&gt;
-</source> 
-</p>
-</section>
-
-<section name="Simple Engine Cluster Configuration for all hosts">
-<p>
-Simple one line engine configuration<br/>
-<source>
-   &lt;Server                 port="8011" 
-                       shutdown="SHUTDOWN" &gt;
-    &lt;GlobalNamingResources&gt;
-    &lt;Resource              name="UserDatabase" auth="Container"
-                           type="org.apache.catalina.UserDatabase"
-                    description="User database that can be updated and saved"
-                        
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
-                        pathname="conf/tomcat-users.xml" /&gt;
-  &lt;/GlobalNamingResources&gt;
-    &lt;Service              name="Catalina"&gt;
-        &lt;Connector        port="9012" 
-                      protocol="AJP/1.3"
-        &lt;Connector         port="9013"
-                     maxThreads="100"
-                minSpareThreads="4"
-                maxSpareThreads="4"
-        /&gt;
-        &lt;Engine            name="Catalina" 
-                   defaultHost="localhost" 
-                        jvmRoute="node01"&gt;
-        &lt;Realm        
className="org.apache.catalina.realm.UserDatabaseRealm"
-                   resourceName="UserDatabase" /&gt;
-        &lt;Cluster      
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
-            &lt;Host          name="localhost"
-                        appBase="webapps"/&gt;
-        &lt;/Engine&gt;
-    &lt;/Service&gt;
-&lt;/Server&gt;
-</source>
-<br/>
-See default mode configuration description as simple host cluster example 
before.
-</p>
-</section>
-
-<section name="Complex Cluster Configuration">
-<p>
-<br/><b>Example</b> Configure cluster with complete sub elements. Activate 
this node
-as master farm delopyer. Message receiver is NIO based 
<em>ReplicationListener</em> with six parallel
-worker threads.
-<br/>
-<source>
-       &lt;Server                 port="8011" 
-                       shutdown="SHUTDOWN" &gt;
-    &lt;GlobalNamingResources&gt;
-    &lt;Resource              name="UserDatabase" auth="Container"
-                           type="org.apache.catalina.UserDatabase"
-                    description="User database that can be updated and saved"
-                        
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
-                        pathname="conf/tomcat-users.xml" /&gt;
-  &lt;/GlobalNamingResources&gt;
-    &lt;Service              name="Catalina"&gt;
-        &lt;Connector        port="9012" 
-                      protocol="AJP/1.3"
-        &lt;Connector         port="9013"
-                     maxThreads="100"
-                minSpareThreads="4"
-                maxSpareThreads="4"
-        /&gt;
-        &lt;Engine            name="Catalina" 
-                   defaultHost="localhost" 
-                        jvmRoute="node01"&gt;
-        &lt;Realm        
className="org.apache.catalina.realm.UserDatabaseRealm"
-                   resourceName="UserDatabase" /&gt;
-            &lt;Host          name="localhost"
-                        appBase="webapps"&gt;
-                &lt;Cluster                  
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
-                                       doClusterLog="true"
-                                     clusterLogName="clusterlog"
-                                  
manager.className="org.apache.catalina.cluster.session.DeltaManager"
-                   manager.expireSessionsOnShutdown="false"
-               manager.notifyListenersOnReplication="false"
-        manager.notifySessionListenersOnReplication="false"
-                            manager.sendAllSessions="false"
-                        manager.sendAllSessionsSize="500"
-                    manager.sendAllSessionsWaitTime="20"&gt;
-                  &lt;Membership 
-                                          
className="org.apache.catalina.cluster.mcast.McastService"
-                                          mcastAddr="228.0.0.4"
-                                   mcastBindAddress="127.0.0.1" 
-                                 mcastClusterDomain="d10" 
-                                          mcastPort="45564"
-                                     mcastFrequency="1000"
-                                      mcastDropTime="30000"/&gt;
-                  &lt;Receiver 
-                                           
className="org.apache.catalina.cluster.tcp.ReplicationListener"
-                                    tcpListenAddress="auto"
-                                       tcpListenPort="9015"
-                                  tcpSelectorTimeout="100"
-                                      tcpThreadCount="6"
-                  &lt;Sender
-                                           
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-                                     replicationMode="fastasyncqueue"
-                        doTransmitterProcessingStats="true"
-                                   doProcessingStats="true"
-                                      doWaitAckStats="true"
-                                       queueTimeWait="true"
-                                        queueDoStats="true"
-                                      queueCheckLock="true"
-                                          ackTimeout="15000"
-                                          waitForAck="true"
-                                    keepAliveTimeout="80000"
-                            keepAliveMaxRequestCount="-1"/&gt;
-                  &lt;Valve                   
className="org.apache.catalina.cluster.tcp.ReplicationValve"
-                                              
filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
-                                    primaryIndicator="true" /&gt;
-                  &lt;Valve                    
className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
-                                             enabled="true" /&gt;      
-                  &lt;ClusterListener         
className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
-                  &lt;ClusterListener         
className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" 
/&gt;
-                  &lt;Deployer                
className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
-                                            tempDir="${catalina.base}/war-temp"
-                                          
deployDir="${catalina.base}/war-deploy/"
-                                           
watchDir="${catalina.base}/war-listen/"
-                                       watchEnabled="true"/&gt;
-                  &lt;/Cluster&gt;
-            &lt;/Host&gt;
-        &lt;/Engine&gt;
-    &lt;/Service&gt;
-&lt;/Server&gt;
-</source>
-</p>
-</section>
-
-<section name="Cluster Configuration for ReplicationTransmitter">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-
-  <tr>
-    <td>replicationMode</td>
-    <td>replication mode (<em>synchronous</em>, <em>pooled</em>, 
<em>asynchronous</em> or <em>fastasyncqueue</em>)
-    </td>
-    <td><code>pooled</code></td>
-  </tr>
-
-  <tr>
-    <td>processSenderFrequency</td>
-    <td>Control the sender keepalive status and drop sender socket connection 
after timeout is reached.
-    Check every processSenderFrequency value engine background ticks.
-    </td>
-    <td><code>2</code></td>
-  </tr>
-
-  <tr>
-    <td>compress</td>
-    <td>compress bytes before sending (consume memory, but reduce network 
traffic - GZIP)</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>ackTimeout</td>
-    <td>acknowledge timeout and only usefull it waitForAck is true</td>
-    <td><code>15000</code></td>
-  </tr>
-  
-  <tr>
-    <td>waitForAck</td>
-    <td>Wait for ack after data send</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>autoConnect</td>
-    <td>is sender disabled, fork a new socket</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>doTransmitterProcessingStats</td>
-    <td>create processing time stats</td>
-    <td><code>false</code></td>
-  </tr>
-</table>
-</p>
-<p>
-Example to get statistic information, wait for ack at every message send and 
transfer at compressed mode<br/>
-<source>
-    &lt;Sender
-      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-      replicationMode="fastasyncqueue"
-      compress="true"
-      doTransmitterProcessingStats="true"
-      ackTimeout="15000"
-      waitForAck="true"
-      autoConnect="false"/&gt;
-</source>
-</p>  
-</section>
-     
-<section name="Cluster Configuration for ReplicationTransmitter (fastayncqueue 
- mode)">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-  
-  <tr>
-    <td>keepAliveTimeout</td>
-    <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
-  </tr>  
-
-  <tr>
-    <td>keepAliveMaxRequestCount</td>
-    <td>max request over this socket</td>
-    <td><code>-1</code></td>
-  </tr>  
-
-  <tr>
-    <td>doProcessingStats</td>
-    <td>create Processing time stats</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>doWaitAckStats</td>
-    <td>create waitAck time stats</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>resend</td>
-    <td>resend message after failure, can overwrite at message</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>queueDoStats</td>
-    <td>activated queue stats</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>queueCheckLock</td>
-    <td>check to lost locks</td>
-    <td><code>false</code></td>
-  </tr>
-  <tr>
-    <td>queueAddWaitTimeout</td>
-    <td>queue add wait time (tomcat connector thread waits)</td>
-    <td><code>10000</code></td>
-  </tr>
-  <tr>
-    <td>queueRemoveWaitTimeout</td>
-    <td>queue remove wait time (queue thread waits)</td>
-    <td><code>30000</code></td>
-  </tr>
-  
-  <tr>
-    <td>maxQueueLength</td>
-    <td>max queue length (default without limit)</td>
-    <td><code>-1</code></td>
-  </tr>
-  
-  <tr>
-    <td>threadPriority</td>
-    <td>change queue thread priority (1-10 ; 5 is normal)</td>
-    <td><code>5</code></td>
-  </tr>
-</table>
-  
-</p>
-<p>
-Example to get a lot of statistic information and no wait for ACK<br/>
-<source>
-    &lt;Sender
-      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-      replicationMode="fastasyncqueue"
-      doTransmitterProcessingStats="true"
-      doProcessingStats="true"
-      queueTimeWait="true"
-      queueDoStats="true"
-      queueCheckLock="true"
-      waitForAck="false"
-      autoConnect="false"
-      keepAliveTimeout="320000"
-      keepAliveMaxRequestCount="-1"/&gt;
-</source>
-</p>  
-</section>
-
-<section name="Cluster Configuration for ReplicationTransmitter ( asynchronous 
- mode)">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-  
-  <tr>
-    <td>keepAliveTimeout</td>
-    <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
-  </tr>  
-
-  <tr>
-    <td>keepAliveMaxRequestCount</td>
-    <td>max request over this socket</td>
-    <td><code>-1</code></td>
-  </tr>  
-
-  <tr>
-    <td>doProcessingStats</td>
-    <td>create Processing time stats</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>doWaitAckStats</td>
-    <td>create waitAck time stats</td>
-    <td><code>false</code></td>
-  </tr>
-  
-  <tr>
-    <td>resend</td>
-    <td>resend message after failure, can overwrite at message</td>
-    <td><code>false</code></td>
-  </tr>
-
-</table>
-</p>
-<p>
-Example to get a processing statistic information, resend after failure and 
wait for ACK<br/>
-<source>
-    &lt;Sender
-      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-      replicationMode="asynchronous"
-      doProcessingStats="true"
-      doWaitAckStats="true"
-      waitForAck="true"
-      ackTimeout="30000"
-      resend="true"
-      keepAliveTimeout="320000"
-      keepAliveMaxRequestCount="-1"/&gt;
-</source>
-</p>  
-</section>
-    
-<section name="Cluster Configuration for ReplicationTransmitter ( synchronous 
- mode)">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-  
-  <tr>
-    <td>keepAliveTimeout</td>
-    <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
-  </tr>  
-
-  <tr>
-    <td>keepAliveMaxRequestCount</td>
-    <td>max request over this socket</td>
-    <td><code>-1</code></td>
-  </tr>  
-
-  <tr>
-    <td>doProcessingStats</td>
-    <td>create Processing time stats</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>doWaitAckStats</td>
-    <td>create waitAck time stats</td>
-    <td><code>true</code></td>
-  </tr>
-
-  <tr>
-    <td>resend</td>
-    <td>resend message after failure, can overwrite at message</td>
-    <td><code>false</code></td>
-  </tr>
-
-</table>
-  
-</p>
-<p>
-Example to get a no processing statistic information, no wait for ACK, after 
10000 request renew socket and autoconnect before first request is send.<br/>
-<source>
-    &lt;Sender
-      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-      replicationMode="synchronous"
-      autoConnect="true"
-      keepAliveTimeout="-1"
-      keepAliveMaxRequestCount="100000"/&gt;
-</source>
-</p>  
-</section>
-
-<section name="Cluster Configuration for ReplicationTransmitter ( pooled - 
mode)">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-  
-  <tr>
-    <td>keepAliveTimeout</td>
-    <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
-  </tr>  
-
-  <tr>
-    <td>keepAliveMaxRequestCount</td>
-    <td>max request over this socket</td>
-    <td><code>-1</code></td>
-  </tr>  
-
-  <tr>
-    <td>maxPoolSocketLimit</td>
-    <td>max pooled sockets (Sender Sockets)</td>
-    <td><code>25</code></td>
-  </tr>
-  
-  <tr>
-    <td>resend</td>
-    <td>resend message after failure, can overwrite at message</td>
-    <td><code>false</code></td>
-  </tr>
-  
-</table>
-  
-</p>
-<p>
-Example to get a no processing statistic information, wait for ACK, after 
10000 request renew socket, only 10 SockerSender available and autoconnect 
before first request is send.<br/>
-<source>
-    &lt;Sender
-      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
-      replicationMode="pooled"
-      autoConnect="true"
-      maxPoolSocketLimit="10"
-      keepAliveTimeout="-1"
-      keepAliveMaxRequestCount="10000"
-      waitForAck="true" /&gt;
-</source>
-</p>  
-</section>
-
-<section name="Cluster Configuration for ReplicationTransmitter ( DeltaManager 
Attribute)">
-<p>
-List of Attributes<br/>
-<table border="1" cellpadding="5">
-
-  <tr>
-    <th align="center" bgcolor="aqua">Attribute</th>
-    <th align="center" bgcolor="aqua">Description</th>
-    <th align="center" bgcolor="aqua">Default value</th>
-  </tr>
-  
-  <tr>
-    <td>expireSessionsOnShutdown</td>
-    <td>When server stopped, expire all sessions also at backup nodes (only 
for testing)</td>
-    <td><code>false</code></td>
-  </tr>
-
-  <tr>
-    <td>maxActiveSessions</td>
-    <td>Number of active sessions. (Default is no limit)</td>
-    <td><code>-1</code></td>
-  </tr>  
-
-  <tr>
-    <td>notifyListenersOnReplication</td>
-    <td>Notify application session listener to session creation 
-    and expiring events at backup nodes</td>
-    <td><code>true</code></td>
-  </tr>
-
-  <tr>
-    <td>notifySessionListenersOnReplication</td>
-    <td>Notify application session listener to attribute changes at backup 
nodes</td>
-    <td><code>true</code></td>
-  </tr>
-
-  <tr>
-    <td>stateTransferTimeout</td>
-    <td>Timeout that session state transfer is complete. Is attribute 
<code>stateTransferTimeout == -1</code> 
-        then application wait that other node send the complete session 
state</td>
-    <td><code>60</code></td>
-  </tr>
-  
-  <tr>
-    <td>sendAllSessions</td>
-    <td>Flag to send sessions as splited blocks</td>
-    <td><code>true</code></td>
-  </tr>
-
-  <tr>
-    <td>sendAllSessionsSize</td>
-    <td>Number of serialize sessions inside a send block session message. Only 
useful when <code>sendAllSessions==false</code></td>
-    <td><code>1000</code></td>
-  </tr>
-
-  <tr>
-    <td>sendAllSessionsWaitTime</td>
-    <td>wait time between two session send blocks.</td>
-    <td><code>2000</code></td>
-  </tr>
-
-  <tr>
-    <td>sendClusterDomainOnly</td>
-    <td>Send all session messages only to member inside same cluster domain 
-        (value od Membership attribute mcastClusterDomain). Also don't handle
-        session messages from other domains.</td>
-    <td><code>true</code></td>
-  </tr>  
-
-  <tr>
-    <td>stateTimestampDrop</td>
-    <td>DeltaManager queued Sessions messages when send GET_ALL_SESSION to 
other node.
-    with stateTimestampDrop all messages before state transfer message 
creation date (find session) are dropped.
-    Only other GET_ALL_SESSION events are handle with date before state 
transfer message.</td>
-    <td><code>true</code></td>
-  </tr>  
-  
-</table>
-  
-</p>
-<p>
-Example send all sessions at separate blocks. Serialize and send 100 session 
inside one block.
-Wait maximale two minutes before the complete backup sessions are loaded 
inside tomcat boot process.
-Between send blocks wait 5 secs to transfers the session block to other node. 
This save memory
-when you use the async modes with queues.<br/>
-<source>
-    &lt;Cluster className="org.apache.catalina.tcp.SimpleTcpCluster"
-      managerClassName="org.apache.catalina.cluster.session.DeltaManager"
-      manager.stateTransferTimeout="120"
-      manager.sendAllSessions="false"
-      manager.sendAllSessionsSize="100"
-      manager.sendAllSessionsWaitTime="5000"
-      "/&gt;
-</source>
-</p>
-<p>
-<b>Note:</b><br/>
-As <em>Cluster.defaultMode=true</em> you can configure the manager attributes 
with prefix <em>manager.</em>. 
-<br/>
-<b>Note:</b><br/>
-With <em>Cluster.setProperty(&lt;String&gt;,&lt;String&gt;)</em> you can 
modify 
-attributes for all register managers. The method exists as MBeans operation.
-</p>
-</section>
 
 <section name="Bind session after crash to failover node">
 <p>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to