You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kf...@apache.org on 2015/04/13 04:35:46 UTC

svn commit: r1673089 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/ha/session/ClusterManagerBase.java java/org/apache/catalina/ha/session/DeltaSession.java webapps/docs/changelog.xml webapps/docs/config/cluster-manager.xml

Author: kfujino
Date: Mon Apr 13 02:35:45 2015
New Revision: 1673089

URL: http://svn.apache.org/r1673089
Log:
Add new attribute that send all actions for session across Tomcat cluster nodes.

Modified:
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
    tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-manager.xml

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java?rev=1673089&r1=1673088&r2=1673089&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java Mon Apr 13 02:35:45 2015
@@ -73,6 +73,11 @@ public abstract class ClusterManagerBase
      */
     private volatile ReplicationValve replicationValve = null ;
 
+    /**
+     * send all actions of session attributes.
+     */
+    private boolean recordAllActions = false;
+
     /* 
      * @see org.apache.catalina.ha.ClusterManager#getCluster()
      */
@@ -126,6 +131,14 @@ public abstract class ClusterManagerBase
         }
     }
 
+    public boolean isRecordAllActions() {
+        return recordAllActions;
+    }
+
+    public void setRecordAllActions(boolean recordAllActions) {
+        this.recordAllActions = recordAllActions;
+    }
+
     /**
      * Check whether the given session attribute should be distributed
      *
@@ -214,6 +227,7 @@ public abstract class ClusterManagerBase
              // Ignore
             }
         }
+        copy.setRecordAllActions(isRecordAllActions());
     }
 
     /**

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=1673089&r1=1673088&r2=1673089&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaSession.java Mon Apr 13 02:35:45 2015
@@ -571,7 +571,9 @@ public class DeltaSession extends Standa
         try {
             lock();
             if (deltaRequest == null) {
-                deltaRequest = new DeltaRequest(getIdInternal(), false);
+                boolean recordAllActions = manager instanceof ClusterManagerBase &&
+                        ((ClusterManagerBase)manager).isRecordAllActions();
+                deltaRequest = new DeltaRequest(getIdInternal(), recordAllActions);
             } else {
                 deltaRequest.reset();
                 deltaRequest.setSessionId(getIdInternal());

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1673089&r1=1673088&r2=1673089&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Apr 13 02:35:45 2015
@@ -107,6 +107,14 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Cluster">
+    <changelog>
+      <add>
+        Add new attribute that send all actions for session across Tomcat
+        cluster nodes. (kfujino)
+      </add>
+    </changelog>
+  </subsection>
   <subsection name="WebSocket">
     <changelog>
       <fix>

Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-manager.xml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-manager.xml?rev=1673089&r1=1673088&r2=1673089&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-manager.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-manager.xml Mon Apr 13 02:35:45 2015
@@ -140,6 +140,13 @@
         secureRandomProvider attribute and set this attribute to the empty
         string.</p>
       </attribute>
+      <attribute name="recordAllActions" required="false">
+        <p>Flag whether send all actions for session across Tomcat cluster
+        nodes. If set to false, if already done something to the same attribute, 
+        make sure don't send multiple actions across Tomcat cluster nodes.
+        In that case, sends only the actions that have been added at last.
+        Default is <code>false</code>.</p>
+      </attribute>
     </attributes>
   </subsection>
   <subsection name="org.apache.catalina.ha.session.DeltaManager Attributes">



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