You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by st...@apache.org on 2015/05/17 13:21:03 UTC
[17/37] tomee git commit: TOMEE-1576 remove cached Session from
HttpRequestImpl
TOMEE-1576 remove cached Session from HttpRequestImpl
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/6c35e5b5
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/6c35e5b5
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/6c35e5b5
Branch: refs/heads/master
Commit: 6c35e5b544d8cdef97bb15b3d6403af5a89b6db4
Parents: 58b9bc0
Author: Mark Struberg <st...@apache.org>
Authored: Tue May 5 08:51:41 2015 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Tue May 5 08:51:41 2015 +0200
----------------------------------------------------------------------
.../openejb/server/httpd/HttpRequestImpl.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/6c35e5b5/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
index eaf420f..bbe1a16 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
@@ -901,7 +901,20 @@ public class HttpRequestImpl implements HttpRequest {
session = previous.session;
}
}
- return session;
+
+ if (session != null) {
+ return new ServletSessionAdapter(session) {
+ @Override
+ public void invalidate() {
+ super.invalidate();
+
+ // after invalidating the session we need to remove the reference to the cached Session
+ HttpRequestImpl.this.session = null;
+ }
+ };
+ }
+
+ return null;
}
protected URI getSocketURI() {
@@ -1212,7 +1225,7 @@ public class HttpRequestImpl implements HttpRequest {
}
}
- protected static class SessionInvalidateListener extends ServletSessionAdapter {
+ protected class SessionInvalidateListener extends ServletSessionAdapter {
private final BeginWebBeansListener listener;
public SessionInvalidateListener(final javax.servlet.http.HttpSession session, final BeginWebBeansListener end) {