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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org