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/16 21:35:44 UTC
svn commit: r464635 - /tomcat/tc6.0.x/trunk/webapps/docs/cluster-howto.xml
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>
+ <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+ channelSendOptions="6">
+
+ <Manager className="org.apache.catalina.ha.session.BackupManager"
+ expireSessionsOnShutdown="false"
+ notifyListenersOnReplication="true"
+ mapSendOptions="6"/>
+ <!--
+ <Manager className="org.apache.catalina.ha.session.DeltaManager"
+ expireSessionsOnShutdown="false"
+ notifyListenersOnReplication="true"/>
+ -->
+ <Channel className="org.apache.catalina.tribes.group.GroupChannel">
+ <Membership className="org.apache.catalina.tribes.membership.McastService"
+ address="228.0.0.4"
+ port="45564"
+ frequency="500"
+ dropTime="3000"/>
+ <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+ address="auto"
+ port="4000"
+ selectorTimeout="5000"
+ maxThreads="6"/>
+
+ <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
+ <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
+ </Sender>
+ <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
+ <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
+ </Channel>
+
+ <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+ filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
+
+ <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+ tempDir="/tmp/war-temp/"
+ deployDir="/tmp/war-deploy/"
+ watchDir="/tmp/war-listen/"
+ watchEnabled="false"/>
+
+ <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
+ <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
+ </Cluster>
+ </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 "replicationMode" has four different settings: "pooled", "synchronous", "asynchronous" and "fastasyncqueue"
-</p>
-
-<section name="Simple Cluster Configuration">
-<p>
-Simple one line configuration<br/>
-<source>
- <Server port="8011"
- shutdown="SHUTDOWN" >
- <GlobalNamingResources>
- <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" />
- </GlobalNamingResources>
- <Service name="Catalina">
- <Connector port="9012"
- protocol="AJP/1.3"
- <Connector port="9013"
- maxThreads="100"
- minSpareThreads="4"
- maxSpareThreads="4"
- />
- <Engine name="Catalina"
- defaultHost="localhost"
- jvmRoute="node1">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase" />
- <Host name="localhost"
- appBase="webapps">
- <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/>
- </Host>
- </Engine>
- </Service>
-</Server>
-</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>
-<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
- service.mcastBindAddress="127.0.0.1"
- receiver.tcpListenPort="9070"
- receiver.tcpListenMaxPort="9075" />
-</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>
-<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
- service.mcastBindAddress="127.0.0.1"
- receiver.tcpListenPort="9070"
- receiver.tcpListenMaxPort="9075" >
- <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener" />
- <ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" />
- <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
- filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
- primaryIndicator="true" />
- <Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
- enabled="true" />
-<Cluster/>
-</source>
-</p>
-</section>
-
-<section name="Simple Engine Cluster Configuration for all hosts">
-<p>
-Simple one line engine configuration<br/>
-<source>
- <Server port="8011"
- shutdown="SHUTDOWN" >
- <GlobalNamingResources>
- <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" />
- </GlobalNamingResources>
- <Service name="Catalina">
- <Connector port="9012"
- protocol="AJP/1.3"
- <Connector port="9013"
- maxThreads="100"
- minSpareThreads="4"
- maxSpareThreads="4"
- />
- <Engine name="Catalina"
- defaultHost="localhost"
- jvmRoute="node01">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase" />
- <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/>
- <Host name="localhost"
- appBase="webapps"/>
- </Engine>
- </Service>
-</Server>
-</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>
- <Server port="8011"
- shutdown="SHUTDOWN" >
- <GlobalNamingResources>
- <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" />
- </GlobalNamingResources>
- <Service name="Catalina">
- <Connector port="9012"
- protocol="AJP/1.3"
- <Connector port="9013"
- maxThreads="100"
- minSpareThreads="4"
- maxSpareThreads="4"
- />
- <Engine name="Catalina"
- defaultHost="localhost"
- jvmRoute="node01">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase" />
- <Host name="localhost"
- appBase="webapps">
- <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">
- <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"/>
- <Receiver
- className="org.apache.catalina.cluster.tcp.ReplicationListener"
- tcpListenAddress="auto"
- tcpListenPort="9015"
- tcpSelectorTimeout="100"
- tcpThreadCount="6"
- <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"/>
- <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
- filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
- primaryIndicator="true" />
- <Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
- enabled="true" />
- <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener" />
- <ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" />
- <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"/>
- </Cluster>
- </Host>
- </Engine>
- </Service>
-</Server>
-</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>
- <Sender
- className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
- replicationMode="fastasyncqueue"
- compress="true"
- doTransmitterProcessingStats="true"
- ackTimeout="15000"
- waitForAck="true"
- autoConnect="false"/>
-</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>
- <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"/>
-</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>
- <Sender
- className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
- replicationMode="asynchronous"
- doProcessingStats="true"
- doWaitAckStats="true"
- waitForAck="true"
- ackTimeout="30000"
- resend="true"
- keepAliveTimeout="320000"
- keepAliveMaxRequestCount="-1"/>
-</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>
- <Sender
- className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
- replicationMode="synchronous"
- autoConnect="true"
- keepAliveTimeout="-1"
- keepAliveMaxRequestCount="100000"/>
-</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>
- <Sender
- className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
- replicationMode="pooled"
- autoConnect="true"
- maxPoolSocketLimit="10"
- keepAliveTimeout="-1"
- keepAliveMaxRequestCount="10000"
- waitForAck="true" />
-</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>
- <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"
- "/>
-</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(<String>,<String>)</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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org