Author: jdonnerstag
Date: Wed Jul 21 20:43:25 2010
New Revision: 966409
URL: http://svn.apache.org/viewvc?rev=966409&view=rev
Log:
fixed WICKET-2946 Exceptions raised in overridden sessionDestroyed() event (of
WebApplication class) are completely swallowed by the session-store classes
without even logging anything
Issue: WICKET-2946
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/protocol/http/pagestore/DiskPageStoreTest.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java?rev=966409&r1=966408&r2=966409&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java
Wed Jul 21 20:43:25 2010
@@ -223,8 +223,13 @@ public abstract class AbstractHttpSessio
catch (IllegalStateException e)
{
// can safely be ignored
+ log.warn("Error while invalidating Session
Store: Session already invalidated", e);
+ }
+ catch (Throwable e)
+ {
+ // can safely be ignored
+ log.error("Error while invalidating Session
Store: ", e);
}
-
}
}
Modified:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/protocol/http/pagestore/DiskPageStoreTest.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/protocol/http/pagestore/DiskPageStoreTest.java?rev=966409&r1=966408&r2=966409&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/protocol/http/pagestore/DiskPageStoreTest.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/protocol/http/pagestore/DiskPageStoreTest.java
Wed Jul 21 20:43:25 2010
@@ -18,6 +18,10 @@ package org.apache.wicket.protocol.http.
import junit.framework.TestCase;
+import org.apache.wicket.Page;
+import org.apache.wicket.Session;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.tester.DummyHomePage;
import org.apache.wicket.util.tester.WicketTester;
/**
@@ -71,4 +75,28 @@ public class DiskPageStoreTest extends T
assertEquals(activeThreadsBefore - 1, activeThreadsAfter);
}
+
+ /**
+ *
+ */
+ public void testExceptionInSessionDestroy()
+ {
+ WicketTester tester = new WicketTester(new WebApplication()
+ {
+ @Override
+ public void sessionDestroyed(String sessionId)
+ {
+ throw new NullPointerException("Error");
+ }
+
+ @Override
+ public Class<? extends Page> getHomePage()
+ {
+ return DummyHomePage.class;
+ }
+ });
+
+ tester.startPage(DummyHomePage.class);
+ Session.get().invalidateNow();
+ }
}