FELIX-5117 : Call to SSOHttpSessionListener#sessionDestroyed is done after the session is invalidated. Apply patch from Xavier Fournet
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1716434 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
index 9761f56..1dc718e 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
@@ -318,6 +318,11 @@
{
this.checkInvalid();
+ // session listener must be called before the session is invalidated
+ if (context.getHttpSessionListener() != null) {
+ context.getHttpSessionListener().sessionDestroyed(new HttpSessionEvent(this));
+ }
+
if ( this.keyPrefix != null )
{
this.delegate.removeAttribute(ATTR_CREATED + this.sessionId);
@@ -342,10 +347,6 @@
this.delegate.invalidate();
}
- if ( context.getHttpSessionListener() != null )
- {
- context.getHttpSessionListener().sessionDestroyed(new HttpSessionEvent(this));
- }
this.isInvalid = true;
}