You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/05/07 09:46:54 UTC
tomee git commit: ensuring classloader is right when destroying
sessions
Repository: tomee
Updated Branches:
refs/heads/fb_tomee2_owb16 ceedb8594 -> a19d26e0f
ensuring classloader is right when destroying sessions
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/a19d26e0
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/a19d26e0
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/a19d26e0
Branch: refs/heads/fb_tomee2_owb16
Commit: a19d26e0f358cd3efbcf3abc3c124e41d34ee22b
Parents: ceedb85
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Thu May 7 09:46:46 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Thu May 7 09:46:46 2015 +0200
----------------------------------------------------------------------
.../server/httpd/session/SessionManager.java | 20 +++++++++++++-------
tck/cdi-embedded/src/test/resources/failing.xml | 2 +-
2 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/a19d26e0/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/session/SessionManager.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/session/SessionManager.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/session/SessionManager.java
index 2284421..378ea9b 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/session/SessionManager.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/session/SessionManager.java
@@ -48,14 +48,20 @@ public class SessionManager {
return;
}
- final WebBeansContext wbc = app.getWebBeansContext();
- final Iterator<SessionWrapper> iterator = sessions.values().iterator();
- while (iterator.hasNext()) {
- final SessionWrapper next = iterator.next();
- if (next.app == app) {
- doDestroy(next);
- iterator.remove();
+ final Thread tc = Thread.currentThread();
+ final ClassLoader tccl = tc.getContextClassLoader();
+ tc.setContextClassLoader(app.getClassLoader());
+ try {
+ final Iterator<SessionWrapper> iterator = sessions.values().iterator();
+ while (iterator.hasNext()) {
+ final SessionWrapper next = iterator.next();
+ if (next.app == app) {
+ doDestroy(next);
+ iterator.remove();
+ }
}
+ } finally {
+ tc.setContextClassLoader(tccl);
}
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/a19d26e0/tck/cdi-embedded/src/test/resources/failing.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-embedded/src/test/resources/failing.xml b/tck/cdi-embedded/src/test/resources/failing.xml
index 3a10892..d995504 100644
--- a/tck/cdi-embedded/src/test/resources/failing.xml
+++ b/tck/cdi-embedded/src/test/resources/failing.xml
@@ -32,7 +32,7 @@
-Dopenejb.cdi.conversation.http.use-get-parameter=true
-->
<classes>
- <class name="org.jboss.cdi.tck.tests.context.session.listener.shutdown.SessionContextListenerShutdownTest" />
+ <class name="org.jboss.cdi.tck.tests.deployment.shutdown.ApplicationShutdownLifecycleTest" />
</classes>
</test>
</suite>