From: rjung Date: Tue, 20 Sep 2011 11:36:29 +0000 (+0000) Subject: - Pull up common clode code to base class. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=eaf80397388026d2c069a1e122974b7c945d57c9;p=tomcat7.0 - Pull up common clode code to base class. - Add sessionAttributeFilter to clone method - Reduce visibility of notifyListenersOnReplication git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1173090 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/ha/session/BackupManager.java b/java/org/apache/catalina/ha/session/BackupManager.java index 73e889aa5..b332cc7de 100644 --- a/java/org/apache/catalina/ha/session/BackupManager.java +++ b/java/org/apache/catalina/ha/session/BackupManager.java @@ -225,10 +225,8 @@ public class BackupManager extends ClusterManagerBase @Override public ClusterManager cloneFromTemplate() { BackupManager result = new BackupManager(); + clone(result); result.mExpireSessionsOnShutdown = mExpireSessionsOnShutdown; - result.name = "Clone-from-"+name; - result.cluster = cluster; - result.notifyListenersOnReplication = notifyListenersOnReplication; result.mapSendOptions = mapSendOptions; result.maxActiveSessions = maxActiveSessions; result.rpcTimeout = rpcTimeout; diff --git a/java/org/apache/catalina/ha/session/ClusterManagerBase.java b/java/org/apache/catalina/ha/session/ClusterManagerBase.java index 2829c3a09..561de7ba2 100644 --- a/java/org/apache/catalina/ha/session/ClusterManagerBase.java +++ b/java/org/apache/catalina/ha/session/ClusterManagerBase.java @@ -45,7 +45,7 @@ public abstract class ClusterManagerBase extends ManagerBase /** * Should listeners be notified? */ - protected boolean notifyListenersOnReplication = true; + private boolean notifyListenersOnReplication = true; /** * The pattern used for including session attributes to @@ -179,4 +179,13 @@ public abstract class ClusterManagerBase extends ManagerBase public void unload() { // NOOP } + + protected void clone(ClusterManagerBase copy) { + copy.name = "Clone-from-" + getName(); + copy.cluster = getCluster(); + copy.maxActiveSessions = getMaxActiveSessions(); + copy.notifyListenersOnReplication = isNotifyListenersOnReplication(); + copy.sessionAttributeFilter = getSessionAttributeFilter(); + } + } diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 26c223366..d45d28188 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -1319,7 +1319,7 @@ public class DeltaManager extends ClusterManagerBase{ try { session.lock(); DeltaRequest dreq = deserializeDeltaRequest(session, delta); - dreq.execute(session, notifyListenersOnReplication); + dreq.execute(session, isNotifyListenersOnReplication()); session.setPrimarySession(false); }finally { session.unlock(); @@ -1479,12 +1479,9 @@ public class DeltaManager extends ClusterManagerBase{ @Override public ClusterManager cloneFromTemplate() { DeltaManager result = new DeltaManager(); - result.name = "Clone-from-"+name; - result.cluster = cluster; + clone(result); result.replicationValve = replicationValve; - result.maxActiveSessions = maxActiveSessions; result.expireSessionsOnShutdown = expireSessionsOnShutdown; - result.notifyListenersOnReplication = notifyListenersOnReplication; result.notifySessionListenersOnReplication = notifySessionListenersOnReplication; result.notifyContainerListenersOnReplication = notifyContainerListenersOnReplication; result.stateTransferTimeout = stateTransferTimeout;