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/02/22 22:57:19 UTC

tomee git commit: ensuring to restore the classloader for ApplicationComposers (should be the case but some side effect in advanced usage can break it so forcing it explicitely)

Repository: tomee
Updated Branches:
  refs/heads/develop 571474b22 -> bfe3d8fa8


ensuring to restore the classloader for ApplicationComposers (should be the case but some side effect in advanced usage can break it so forcing it explicitely)


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/bfe3d8fa
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/bfe3d8fa
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/bfe3d8fa

Branch: refs/heads/develop
Commit: bfe3d8fa88b1ab5fca6b9ce0e6c4b1cc3f1fa4f7
Parents: 571474b
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Sun Feb 22 22:57:12 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Sun Feb 22 22:57:12 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/openejb/testing/ApplicationComposers.java   | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/bfe3d8fa/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
index 108dd26..391ba7f 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
@@ -156,6 +156,7 @@ public class ApplicationComposers {
     private ServiceManagerProxy serviceManager;
 
     // invocation context
+    private ClassLoader originalLoader;
     private AppInfo appInfo;
     private Assembler assembler;
     private AppContext appContext;
@@ -1009,6 +1010,9 @@ public class ApplicationComposers {
             OpenEJB.destroy();
         } finally {
             runAll(afterRunnables);
+            if (originalLoader != null) {
+                Thread.currentThread().setContextClassLoader(originalLoader);
+            }
         }
     }
 
@@ -1185,6 +1189,7 @@ public class ApplicationComposers {
     }
 
     public void startContainer(final Object instance) throws Exception {
+        originalLoader = Thread.currentThread().getContextClassLoader();
         testClassFinders.remove(this); // see constructor
 
         // For the moment we just take the first @Configuration method