You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2008/10/22 17:04:06 UTC
svn commit: r707096 - in
/geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src:
main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java
test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java
Author: dwoods
Date: Wed Oct 22 08:04:05 2008
New Revision: 707096
URL: http://svn.apache.org/viewvc?rev=707096&view=rev
Log:
GERONIMO-4299 Session invalidation problem - WADI Tomcat Clustering. Merged in r694867 made by Gianny from trunk.
Modified:
geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java
geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java
Modified: geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java?rev=707096&r1=707095&r2=707096&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java (original)
+++ geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/main/java/org/apache/geronimo/tomcat/cluster/ClusteredManager.java Wed Oct 22 08:04:05 2008
@@ -74,6 +74,9 @@
public void notifySessionDestruction(org.apache.geronimo.clustering.Session session) {
ClusteredSession clusteredSession = getClusteredSession(session);
+ if (null == clusteredSession) {
+ return;
+ }
remove(clusteredSession);
}
Modified: geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java?rev=707096&r1=707095&r2=707096&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java (original)
+++ geronimo/server/branches/2.1/plugins/tomcat/geronimo-tomcat6-clustering-wadi/src/test/java/org/apache/geronimo/tomcat/cluster/ClusteredManagerTest.java Wed Oct 22 08:04:05 2008
@@ -30,6 +30,8 @@
import org.apache.geronimo.clustering.SessionListener;
import org.apache.geronimo.clustering.SessionManager;
+import com.agical.rmock.core.Action;
+import com.agical.rmock.core.MethodHandle;
import com.agical.rmock.core.describe.ExpressionDescriber;
import com.agical.rmock.core.match.operator.AbstractExpression;
import com.agical.rmock.extension.junit.RMockTestCase;
@@ -138,16 +140,24 @@
assertFalse(httpSession.isNew());
}
- public void testInvalidateSessionReleasesUnderlyingSession() throws Exception {
- org.apache.geronimo.clustering.Session underlyingSession =recordCreateUnderlyingSession();
+ public void testInvalidateSessionReleasesUnderlyingSessionAndRemoveSessionFromManager() throws Exception {
+ final org.apache.geronimo.clustering.Session underlyingSession =recordCreateUnderlyingSession();
underlyingSession.release();
-
+ modify().perform(new Action() {
+ public Object invocation(Object[] arg0, MethodHandle arg1) throws Throwable {
+ sessionListener.notifySessionDestruction(underlyingSession);
+ return null;
+ }
+ });
+
startVerification();
ClusteredManager manager = newManager();
Session session = manager.createSession(null);
HttpSession httpSession = session.getSession();
httpSession.invalidate();
+
+ assertNull(manager.findSession(sessionId));
}
public void testSessionEndAccessTriggersOnEndAccess() throws Exception {