Author: rmannibucau
Date: Tue Oct 16 19:22:22 2012
New Revision: 1398936

URL: http://svn.apache.org/viewvc?rev=1398936&view=rev
Log:
TOMEE-465 cleaning up webbeanscontext + jsfclasses (Thanks Harald Wellmann for 
the report)

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1398936&r1=1398935&r2=1398936&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Tue Oct 16 19:22:22 2012
@@ -113,6 +113,7 @@ import org.apache.webbeans.spi.ContextsS
 import org.apache.webbeans.spi.LoaderService;
 import org.apache.webbeans.spi.ResourceInjectionService;
 import org.apache.webbeans.spi.ScannerService;
+import org.apache.webbeans.spi.SingletonService;
 import org.apache.webbeans.spi.TransactionService;
 import org.apache.webbeans.spi.adaptor.ELAdaptor;
 import org.apache.xbean.finder.ResourceFinder;
@@ -1201,8 +1202,14 @@ public class Assembler extends Assembler
         } else {
 
             final WebBeansContext webBeansContext = 
appContext.getWebBeansContext();
-            if (webBeansContext != null && 
webBeansContext.getBeanManagerImpl().isInUse()) {
-                
webBeansContext.getService(ContainerLifecycle.class).stopApplication(null);
+            if (webBeansContext != null) {
+                final ClassLoader old = 
Thread.currentThread().getContextClassLoader();
+                
Thread.currentThread().setContextClassLoader(appContext.getClassLoader());
+                try {
+                    
webBeansContext.getService(ContainerLifecycle.class).stopApplication(null);
+                } finally {
+                    Thread.currentThread().setContextClassLoader(old);
+                }
             }
 
             final Map<String, Object> cb = appContext.getBindings();


Reply via email to