Author: kfujino Date: Mon Apr 13 02:31:01 2015 New Revision: 1673087 URL: http://svn.apache.org/r1673087 Log: Add new attribute that send all actions for session across Tomcat cluster nodes.
Modified: tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java tomcat/trunk/webapps/docs/config/cluster-manager.xml Modified: tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java?rev=1673087&r1=1673086&r2=1673087&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java Mon Apr 13 02:31:01 2015 @@ -67,6 +67,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() */ @@ -120,6 +125,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 * @@ -210,6 +223,7 @@ public abstract class ClusterManagerBase // Ignore } } + copy.setRecordAllActions(isRecordAllActions()); } /** Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=1673087&r1=1673086&r2=1673087&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java Mon Apr 13 02:31:01 2015 @@ -594,7 +594,9 @@ public class DeltaSession extends Standa lock(); try { 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/trunk/webapps/docs/config/cluster-manager.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/cluster-manager.xml?rev=1673087&r1=1673086&r2=1673087&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/cluster-manager.xml (original) +++ tomcat/trunk/webapps/docs/config/cluster-manager.xml Mon Apr 13 02:31:01 2015 @@ -128,6 +128,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