Author: kfujino
Date: Thu Apr  3 07:33:04 2014
New Revision: 1584274

URL: http://svn.apache.org/r1584274
Log:
Move to org.apache.catalina.ha.session.ClusterManagerBase common logics of 
org.apache.catalina.ha.session.BackupManager and 
org.apache.catalina.ha.session.DeltaManager.

Modified:
    tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
    tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
    tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
    tomcat/trunk/webapps/docs/changelog.xml

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=1584274&r1=1584273&r2=1584274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java Thu Apr 
 3 07:33:04 2014
@@ -20,12 +20,10 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
-import org.apache.catalina.Cluster;
 import org.apache.catalina.DistributedManager;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Session;
-import org.apache.catalina.ha.CatalinaCluster;
 import org.apache.catalina.ha.ClusterManager;
 import org.apache.catalina.ha.ClusterMessage;
 import org.apache.catalina.tribes.Channel;
@@ -141,16 +139,7 @@ public class BackupManager extends Clust
         super.startInternal();
 
         try {
-            if (getCluster() == null) {
-                Cluster cluster = getContext().getCluster();
-                if (cluster instanceof CatalinaCluster) {
-                    setCluster((CatalinaCluster)cluster);
-                } else {
-                    throw new LifecycleException(
-                            sm.getString("backupManager.noCluster", 
getName()));
-                }
-            }
-            cluster.registerManager(this);
+            if (cluster == null) throw new 
LifecycleException(sm.getString("backupManager.noCluster", getName()));
             LazyReplicatedMap<String,Session> map = new LazyReplicatedMap<>(
                     this, cluster.getChannel(), rpcTimeout, getMapName(),
                     getClassLoaders(), terminateOnStartFailure);
@@ -194,7 +183,6 @@ public class BackupManager extends Clust
             map.breakdown();
         }
 
-        cluster.removeManager(this);
         super.stopInternal();
     }
 

Modified: 
tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java?rev=1584274&r1=1584273&r2=1584274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java 
Thu Apr  3 07:33:04 2014
@@ -20,6 +20,7 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.regex.Pattern;
 
+import org.apache.catalina.Cluster;
 import org.apache.catalina.Context;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.Loader;
@@ -228,7 +229,20 @@ public abstract class ClusterManagerBase
     }
 
     @Override
+    protected void startInternal() throws LifecycleException {
+        super.startInternal();
+        if (getCluster() == null) {
+            Cluster cluster = getContext().getCluster();
+            if (cluster instanceof CatalinaCluster) {
+                setCluster((CatalinaCluster)cluster);
+            }
+        }
+        if (cluster != null) cluster.registerManager(this);
+    }
+
+    @Override
     protected void stopInternal() throws LifecycleException {
+        if (cluster != null) cluster.removeManager(this);
         replicationValve = null;
         super.stopInternal();
     }

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=1584274&r1=1584273&r2=1584274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Apr  
3 07:33:04 2014
@@ -26,14 +26,11 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
 
-import org.apache.catalina.Cluster;
-import org.apache.catalina.Context;
 import org.apache.catalina.Engine;
 import org.apache.catalina.Host;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Session;
-import org.apache.catalina.ha.CatalinaCluster;
 import org.apache.catalina.ha.ClusterManager;
 import org.apache.catalina.ha.ClusterMessage;
 import org.apache.catalina.session.ManagerBase;
@@ -723,20 +720,6 @@ public class DeltaManager extends Cluste
 
         // Load unloaded sessions, if any
         try {
-            //the channel is already running
-            Cluster cluster = getCluster() ;
-            // stop remove cluster binding
-            if(cluster == null) {
-                Context context = getContext() ;
-                if (context != null) {
-                    cluster = context.getCluster();
-                    if(cluster instanceof CatalinaCluster) {
-                        setCluster((CatalinaCluster) cluster);
-                    } else {
-                        cluster = null;
-                    }
-                }
-            }
             if (cluster == null) {
                 log.error(sm.getString("deltaManager.noCluster", getName()));
                 return;
@@ -755,9 +738,6 @@ public class DeltaManager extends Cluste
             if (log.isInfoEnabled()) {
                 log.info(sm.getString("deltaManager.startClustering", 
getName()));
             }
-            //to survice context reloads, as only a stop/start is called, not
-            // createManager
-            cluster.registerManager(this);
 
             getAllClusterSessions();
 
@@ -929,7 +909,6 @@ public class DeltaManager extends Cluste
         }
 
         // Require a new random number generator if we are restarted
-        getCluster().removeManager(this);
         super.stopInternal();
     }
 

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1584274&r1=1584273&r2=1584274&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Apr  3 07:33:04 2014
@@ -109,6 +109,12 @@
         <code>crossContext</code>=true. The context that refers to the 
different
         context must be set to <code>crossContext</code>=true. (kfujino)
       </fix>
+      <scode>
+        Move to <code>org.apache.catalina.ha.session.ClusterManagerBase</code>
+        common logics of
+        <code>org.apache.catalina.ha.session.BackupManager</code> and
+        <code>org.apache.catalina.ha.session.DeltaManager</code>. (kfujino)
+      </scode>
     </changelog>
   </subsection>
   <subsection name="Web applications">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to