Repository: tomee Updated Branches: refs/heads/fb_tomee2_owb16 58b9bc093 -> 6c35e5b54
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/fb_tomee2_owb16 Commit: 6c35e5b544d8cdef97bb15b3d6403af5a89b6db4 Parents: 58b9bc0 Author: Mark Struberg <strub...@apache.org> Authored: Tue May 5 08:51:41 2015 +0200 Committer: Mark Struberg <strub...@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) {