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: [email protected]
For additional commands, e-mail: [email protected]