From: fhanik Date: Thu, 12 Oct 2006 23:21:21 +0000 (+0000) Subject: Document more manager options, far from complete X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=0a393abf280c7d61628f5f8b12d50b915ff634ca;p=tomcat7.0 Document more manager options, far from complete git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@463510 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/ha/ClusterManager.java b/java/org/apache/catalina/ha/ClusterManager.java index 3f69cf13f..9a05faf25 100644 --- a/java/org/apache/catalina/ha/ClusterManager.java +++ b/java/org/apache/catalina/ha/ClusterManager.java @@ -82,13 +82,13 @@ public interface ClusterManager extends Manager { * @return Manager send only to same cluster domain. * @since 5.5.10 */ - public boolean isSendClusterDomainOnly(); + public boolean doDomainReplication(); /** * @param sendClusterDomainOnly Flag value. * @since 5.5.10 */ - public void setSendClusterDomainOnly(boolean sendClusterDomainOnly); + public void setDomainReplication(boolean domainReplication); /** * @param mode The mode diff --git a/java/org/apache/catalina/ha/session/BackupManager.java b/java/org/apache/catalina/ha/session/BackupManager.java index 5461a5275..dbc04018d 100644 --- a/java/org/apache/catalina/ha/session/BackupManager.java +++ b/java/org/apache/catalina/ha/session/BackupManager.java @@ -76,14 +76,14 @@ public class BackupManager extends StandardManager implements ClusterManager public void messageDataReceived(ClusterMessage msg) { } - public boolean isSendClusterDomainOnly() { + public boolean doDomainReplication() { return false; } /** * @param sendClusterDomainOnly The sendClusterDomainOnly to set. */ - public void setSendClusterDomainOnly(boolean sendClusterDomainOnly) { + public void setDomainReplication(boolean sendClusterDomainOnly) { } /** diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 708296300..30d39e9eb 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -358,14 +358,14 @@ public class DeltaManager extends ClusterManagerBase{ /** * @return Returns the sendClusterDomainOnly. */ - public boolean isSendClusterDomainOnly() { + public boolean doDomainReplication() { return sendClusterDomainOnly; } /** * @param sendClusterDomainOnly The sendClusterDomainOnly to set. */ - public void setSendClusterDomainOnly(boolean sendClusterDomainOnly) { + public void setDomainReplication(boolean sendClusterDomainOnly) { this.sendClusterDomainOnly = sendClusterDomainOnly; } @@ -581,7 +581,7 @@ public class DeltaManager extends ClusterManagerBase{ */ protected void send(SessionMessage msg) { if(cluster != null) { - if(isSendClusterDomainOnly()) + if(doDomainReplication()) cluster.sendClusterDomain(msg); else cluster.send(msg); @@ -1280,7 +1280,7 @@ public class DeltaManager extends ClusterManagerBase{ * requesting node */ protected void messageReceived(SessionMessage msg, Member sender) { - if(isSendClusterDomainOnly() && !checkSenderDomain(msg,sender)) { + if(doDomainReplication() && !checkSenderDomain(msg,sender)) { return; } ClassLoader contextLoader = Thread.currentThread().getContextClassLoader(); diff --git a/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java b/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java index f35845182..4577d3437 100644 --- a/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java +++ b/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java @@ -386,7 +386,7 @@ public class JvmRouteBinderValve extends ValveBase implements ClusterValve, Life Context context = request.getContext(); msg.setContextPath(context.getPath()); msg.setHost(context.getParent().getName()); - if(manager.isSendClusterDomainOnly()) + if(manager.doDomainReplication()) cluster.sendClusterDomain(msg); else cluster.send(msg); diff --git a/java/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java b/java/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java index 36cabe185..99ef6a8e9 100644 --- a/java/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java +++ b/java/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java @@ -112,14 +112,14 @@ public class SimpleTcpReplicationManager extends StandardManager implements Clus super(); } - public boolean isSendClusterDomainOnly() { + public boolean doDomainReplication() { return sendClusterDomainOnly; } /** * @param sendClusterDomainOnly The sendClusterDomainOnly to set. */ - public void setSendClusterDomainOnly(boolean sendClusterDomainOnly) { + public void setDomainReplication(boolean sendClusterDomainOnly) { this.sendClusterDomainOnly = sendClusterDomainOnly; } diff --git a/java/org/apache/catalina/ha/tcp/ReplicationValve.java b/java/org/apache/catalina/ha/tcp/ReplicationValve.java index b00f76a01..5f5f9ba50 100644 --- a/java/org/apache/catalina/ha/tcp/ReplicationValve.java +++ b/java/org/apache/catalina/ha/tcp/ReplicationValve.java @@ -546,7 +546,7 @@ public class ReplicationValve protected void send(ClusterManager manager, CatalinaCluster cluster, String sessionId) { ClusterMessage msg = manager.requestCompleted(sessionId); if (msg != null) { - if(manager.isSendClusterDomainOnly()) { + if(manager.doDomainReplication()) { cluster.sendClusterDomain(msg); } else { cluster.send(msg); diff --git a/webapps/docs/config/cluster-manager.xml b/webapps/docs/config/cluster-manager.xml index 453d46fb5..76985b5c1 100644 --- a/webapps/docs/config/cluster-manager.xml +++ b/webapps/docs/config/cluster-manager.xml @@ -15,8 +15,18 @@
- - + A cluster manager is an extension to Tomcat's session manager interface, + org.apache.catalina.Manager + A cluster manager must implement the org.apache.catalina.ha.ClusterManager and is solely + responsible for how the session is replicated.
+ There are currently two different managers, the org.apache.catalina.ha.session.DeltaManager 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 org.apache.catalina.ha.session.BackupManager 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.
+ We are planning to add more managers with even more sophisticated backup mechanism to support even larger clusters. + Check back soon!
@@ -30,6 +40,21 @@ + + 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 + <Membership> + element. + + + Deprecated since 6.0.0 + + + + + + +