Author: kfujino
Date: Mon Apr  6 02:37:41 2015
New Revision: 1671471

URL: http://svn.apache.org/r1671471
Log:
Avoid unnecessary call of DeltaRequest#addSessionListener in non-primary nodes.

Modified:
    tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java
    tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
    tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java?rev=1671471&r1=1671470&r2=1671471&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java 
(original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java 
Mon Apr  6 02:37:41 2015
@@ -204,9 +204,9 @@ public class DeltaRequest implements Ext
                 case TYPE_LISTENER:
                     SessionListener listener = (SessionListener) 
info.getValue();
                     if (info.getAction() == ACTION_SET) {
-                        session.addSessionListener(listener);
+                        session.addSessionListener(listener,false);
                     } else {
-                        session.removeSessionListener(listener);
+                        session.removeSessionListener(listener,false);
                     }
                     break;
                 default :

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=1671471&r1=1671470&r2=1671471&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java 
(original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java 
Mon Apr  6 02:37:41 2015
@@ -502,10 +502,14 @@ public class DeltaSession extends Standa
 
     @Override
     public void addSessionListener(SessionListener listener) {
+        addSessionListener(listener, true);
+    }
+
+    public void addSessionListener(SessionListener listener, boolean 
addDeltaRequest) {
         lock();
         try {
             super.addSessionListener(listener);
-            if (deltaRequest != null && listener instanceof 
ReplicatedSessionListener) {
+            if (addDeltaRequest && deltaRequest != null && listener instanceof 
ReplicatedSessionListener) {
                 deltaRequest.addSessionListener(listener);
             }
         } finally {
@@ -515,10 +519,14 @@ public class DeltaSession extends Standa
 
     @Override
     public void removeSessionListener(SessionListener listener) {
+        removeSessionListener(listener, true);
+    }
+
+    public void removeSessionListener(SessionListener listener, boolean 
addDeltaRequest) {
         lock();
         try {
             super.removeSessionListener(listener);
-            if (deltaRequest != null && listener instanceof 
ReplicatedSessionListener) {
+            if (addDeltaRequest && deltaRequest != null && listener instanceof 
ReplicatedSessionListener) {
                 deltaRequest.removeSessionListener(listener);
             }
         } finally {

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1671471&r1=1671470&r2=1671471&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Mon Apr  6 02:37:41 2015
@@ -102,6 +102,13 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Cluster">
+    <changelog>
+      <fix>
+        Avoid unnecessary call of <code>DeltaRequest#addSessionListener</code>
+        in non-primary nodes. (kfujino)
+      </fix>
+    </changelog>
   <subsection name="WebSocket">
     <changelog>
       <fix>



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

Reply via email to