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