Hi.
SimpleTcpCluster#sendClusterDomain called when domainReplication is
true is as follows now.
===SimpleTcpCluster#sendClusterDomain===
public void sendClusterDomain(ClusterMessage msg) {
send(msg,null);
}
=== ===
the msg is transmitted to all cluster members.
domainReplication does not work correctly.
Tomcat7 and Tomcat6 have
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.
If DomainFilterInterceptor is used, session can be sent only to the
same domain.
Is DomainFilterInterceptor used instead of domainReplication?
--
Keiichi.Fujino
45:32 2010
> New Revision: 980378
>
> URL: http://svn.apache.org/viewvc?rev=980378&view=rev
> Log:
> Remove deprecated defaultMode attribute
> Clarify current behaviour of maxActiveSessions
> Clean-up cluster-manager docs
>
> Modified:
> tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java
> tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
> tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
> tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
> tomcat/trunk/webapps/docs/config/cluster-manager.xml
>
> Modified: tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java?rev=980378&r1=980377&r2=980378&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java (original)
> +++ tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java Thu Jul 29
> 09:45:32 2010
> @@ -91,17 +91,6 @@ public interface ClusterManager extends
> */
> public void setDomainReplication(boolean domainReplication);
>
> - /**
> - * @param mode The mode
> - * @since 5.5.10
> - */
> - public void setDefaultMode(boolean mode);
> -
> - /**
> - * @since 5.5.10
> - */
> - public boolean isDefaultMode();
> -
> public ReplicationStream getReplicationStream(byte[] data) throws
> IOException;
>
> public ReplicationStream getReplicationStream(byte[] data, int offset, int
> length) throws IOException;
>
> Modified: tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java?rev=980378&r1=980377&r2=980378&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
> (original)
> +++ tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java Thu
> Jul 29 09:45:32 2010
> @@ -94,18 +94,6 @@ public class BackupManager extends Stand
> public void setDomainReplication(boolean sendClusterDomainOnly) {
> }
>
> - /**
> - * @return Returns the defaultMode.
> - */
> - public boolean isDefaultMode() {
> - return false;
> - }
> - /**
> - * @param defaultMode The defaultMode to set.
> - */
> - public void setDefaultMode(boolean defaultMode) {
> - }
> -
> public void setExpireSessionsOnShutdown(boolean expireSessionsOnShutdown)
> {
> mExpireSessionsOnShutdown = expireSessionsOnShutdown;
>
> Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=980378&r1=980377&r2=980378&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
> (original)
> +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu
> Jul 29 09:45:32 2010
> @@ -88,7 +88,6 @@ public class DeltaManager extends Cluste
> */
> protected static String managerName = "DeltaManager";
> protected String name = null;
> - protected boolean defaultMode = false;
> private CatalinaCluster cluster = null;
>
> /**
> @@ -474,20 +473,7 @@ public class DeltaManager extends Cluste
> }
>
>
> - /**
> - * @return Returns the defaultMode.
> - */
> - public boolean isDefaultMode() {
> - return defaultMode;
> - }
> - /**
> - * @param defaultMode The defaultMode to set.
> - */
> - public void setDefaultMode(boolean defaultMode) {
> - this.defaultMode = defaultMode;
> - }
> -
> - public CatalinaCluster getCluster() {
> + public CatalinaCluster getCluster() {
> return cluster;
> }
>
>
> Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=980378&r1=980377&r2=980378&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
> (original)
> +++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Thu
> Jul 29 09:45:32 2010
> @@ -529,7 +529,6 @@ public class SimpleTcpCluster extends Li
> String clusterName = getManagerName(cmanager.getName(), manager);
> cmanager.setName(clusterName);
> cmanager.setCluster(this);
> - cmanager.setDefaultMode(false);
>
> managers.put(clusterName, cmanager);
> // Notify our interested LifecycleListeners
>
> Modified: tomcat/trunk/webapps/docs/config/cluster-manager.xml
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/cluster-manager.xml?rev=980378&r1=980377&r2=980378&view=diff
> ==============================================================================
> --- tomcat/trunk/webapps/docs/config/cluster-manager.xml (original)
> +++ tomcat/trunk/webapps/docs/config/cluster-manager.xml Thu Jul 29 09:45:32
> 2010
> @@ -34,89 +34,102 @@
> </section>
>
> <section name="Introduction">
> - <p>
> - A cluster manager is an extension to Tomcat's session manager interface,
> - <code>org.apache.catalina.Manager</code>
> - A cluster manager must implement the
> <code>org.apache.catalina.ha.ClusterManager</code> and is solely
> - responsible for how the session is replicated.<br/>
> - There are currently two different managers, the
> <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas
> - of session data to all members in the cluster. This implementation is
> proven and works very well, but has a limitation
> - as it requires the cluster members to be homogeneous, all nodes must
> deploy the same applications and be exact replicas.
> - The <code>org.apache.catalina.ha.session.BackupManager</code> also
> replicates deltas but only to one backup node.
> - The location of the backup node is known to all nodes in the cluster. It
> also supports heterogeneous deployments,
> - so the manager knows at what locations the webapp is deployed.<br/>
> - We are planning to add more managers with even more sophisticated backup
> mechanism to support even larger clusters.
> - Check back soon!
> - </p>
> + <p>A cluster manager is an extension to Tomcat's session manager interface,
> + <code>org.apache.catalina.Manager</code>.
> + A cluster manager must implement the
> + <code>org.apache.catalina.ha.ClusterManager</code> and is solely
> responsible
> + for how the session is replicated.<br/>
> + There are currently two different managers, the
> + <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas
> of
> + session data to all members in the cluster. This implementation is proven
> and
> + works very well, but has a limitation as it requires the cluster members
> to be
> + homogeneous, all nodes must deploy the same applications and be exact
> + replicas. The <code>org.apache.catalina.ha.session.BackupManager</code>
> also
> + replicates deltas but only to one backup node. The location of the backup
> node
> + is known to all nodes in the cluster. It also supports heterogeneous
> + deployments, so the manager knows at what locations the web application is
> + deployed.</p>
> </section>
>
> <section name="The <Manager>">
> - <p>
> - The <code><Manager></code> element defined inside the
> <code><Cluster></code> element
> - is the template defined for all web applications that are marked
> <code><distributable/></code>
> - in their <code>web.xml</code> file.
> - However, you can still override the manager implementation on a per web
> application basis,
> - by putting the <code><Manager></code> inside the
> <code><Context></code> element either in the
> - <code><a href="context.html">context.xml</a></code> file or the <code><a
> href="index.html">server.xml</a></code> file.
> - </p>
> + <p>The <code><Manager></code> element defined inside the
> + <code><Cluster></code> element is the template defined for all web
> + applications that are marked <code><distributable/></code> in their
> + <code>web.xml</code> file. However, you can still override the manager
> + implementation on a per web application basis, by putting the
> + <code><Manager></code> inside the <code><Context></code>
> element
> + either in the <code><a href="context.html">context.xml</a></code> file or
> the
> + <code><a href="index.html">server.xml</a></code> file.</p>
> </section>
>
> <section name="Attributes">
> <subsection name="Common Attributes">
> <attributes>
> - <attribute name="className" required="true">
> - </attribute>
> - <attribute name="name" required="false">
> - <b>The name of this cluster manager, the name is used to identify a
> session manager on a node.
> - The name might get modified by the <code>Cluster</code> element to
> make it unique in the container.</b>
> - </attribute>
> - <attribute name="defaultMode" required="false">
> - <b>Deprecated since 6.0.0</b>
> - </attribute>
> - <attribute name="notifyListenersOnReplication" required="false">
> - Set to <code>true</code> if you wish to have session listeners
> notified when
> - session attributes are being replicated or removed across Tomcat
> nodes in the cluster.
> - </attribute>
> - <attribute name="expireSessionsOnShutdown" required="false">
> - When a webapplication is being shutdown, Tomcat issues an expire call
> to each session to
> - notify all the listeners. If you wish for all sessions to expire on
> all nodes when
> - a shutdown occurs on one node, set this value to <code>true</code>.
> - Default value is <code>false</code>.
> - </attribute>
> -
> + <attribute name="className" required="true">
> + </attribute>
> + <attribute name="name" required="false">
> + <b>The name of this cluster manager, the name is used to identify a
> + session manager on a node. The name might get modified by the
> + <code>Cluster</code> element to make it unique in the container.</b>
> + </attribute>
> + <attribute name="notifyListenersOnReplication" required="false">
> + Set to <code>true</code> if you wish to have session listeners
> notified
> + when session attributes are being replicated or removed across Tomcat
> + nodes in the cluster.
> + </attribute>
> + <attribute name="expireSessionsOnShutdown" required="false">
> + When a web application is being shutdown, Tomcat issues an expire
> call
> + to each session to notify all the listeners. If you wish for all
> + sessions to expire on all nodes when a shutdown occurs on one node,
> set
> + this value to <code>true</code>. Default value is <code>false</code>.
> + </attribute>
> </attributes>
> </subsection>
> <subsection name="org.apache.catalina.ha.session.DeltaManager Attributes">
> <attributes>
> - <attribute name="domainReplication" required="false">
> - Set to true if you wish sessions to be replicated only to members that
> have the same logical
> - domain set. If set to false, session replication will ignore the
> domain setting the
> - <code><a href="cluster-membership.html"><Membership></a></code>
> - element.
> - </attribute>
> - <attribute name="expireSessionsOnShutdown" required="false">
> - When a webapplication is being shutdown, Tomcat issues an expire call
> to each session to
> - notify all the listeners. If you wish for all sessions to expire on
> all nodes when
> - a shutdown occurs on one node, set this value to <code>true</code>.
> - Default value is <code>false</code>.
> - </attribute>
> - <attribute name="stateTransferTimeout" required="false">
> - The time in seconds to wait for a session state transfer to complete
> from another node
> - when a node is starting up.
> - Default value is <code>60</code> seconds.
> - </attribute>
> + <attribute name="domainReplication" required="false">
> + Set to true if you wish sessions to be replicated only to members
> that
> + have the same logical domain set. If set to false, session
> replication
> + will ignore the domain setting the
> + <code><a href="cluster-membership.html"><Membership></a></code>
> + element.
> + </attribute>
> + <attribute name="expireSessionsOnShutdown" required="false">
> + When a web application is being shutdown, Tomcat issues an expire
> call
> + to each session to notify all the listeners. If you wish for all
> + sessions to expire on all nodes when a shutdown occurs on one node,
> set
> + this value to <code>true</code>.
> + Default value is <code>false</code>.
> + </attribute>
> + <attribute name="maxActiveSessions" required="false">
> + The maximum number of active sessions that will be created by this
> + Manager, or -1 (the default) for no limit. For this manager, all
> + sessions are counted as active sessions irrespective if whether or
> not
> + the current node is the primary node for the session.
> + </attribute>
> + <attribute name="stateTransferTimeout" required="false">
> + The time in seconds to wait for a session state transfer to complete
> + from another node when a node is starting up.
> + Default value is <code>60</code> seconds.
> + </attribute>
> </attributes>
> </subsection>
> <subsection name="org.apache.catalina.ha.session.BackupManager Attributes">
> <attributes>
> - <attribute name="mapSendOptions" required="false">
> - The backup manager uses a replicated map, this map is sending and
> - receiving messages. You can setup the flag for how this map is sending
> - messages, the default value is <code>6</code>(synchronous).<br/>
> - Note that if you use asynchronous messaging it is possible for update
> - messages for a session to be processed by the receiving node in a
> - different order to the order in which they were sent.
> - </attribute>
> + <attribute name="mapSendOptions" required="false">
> + The backup manager uses a replicated map, this map is sending and
> + receiving messages. You can setup the flag for how this map is
> sending
> + messages, the default value is <code>6</code>(synchronous).<br/>
> + Note that if you use asynchronous messaging it is possible for update
> + messages for a session to be processed by the receiving node in a
> + different order to the order in which they were sent.
> + </attribute>
> + <attribute name="maxActiveSessions" required="false">
> + The maximum number of active sessions that will be created by this
> + Manager, or -1 (the default) for no limit. For this manager, only
> + sessions where the current node is the primary node for the session
> are
> + considered active sessions.
> + </attribute>
> </attributes>
> </subsection>
> </section>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
Keiichi.Fujino
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]