Author: gpetracek
Date: Wed May 15 22:04:11 2013
New Revision: 1483108

URL: http://svn.apache.org/r1483108
Log:
OWB-862 improved bootstrapping

Modified:
    
openwebbeans/branches/owb_1.1.x/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java

Modified: 
openwebbeans/branches/owb_1.1.x/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/branches/owb_1.1.x/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1483108&r1=1483107&r2=1483108&view=diff
==============================================================================
--- 
openwebbeans/branches/owb_1.1.x/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
 (original)
+++ 
openwebbeans/branches/owb_1.1.x/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
 Wed May 15 22:04:11 2013
@@ -40,7 +40,6 @@ import javax.enterprise.inject.spi.Decor
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
 import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.interceptor.Interceptor;
 import org.apache.webbeans.annotation.AnnotationManager;
 import org.apache.webbeans.component.AbstractInjectionTargetBean;
 import org.apache.webbeans.component.AbstractProducerBean;
@@ -126,7 +125,7 @@ public class BeansDeployer
      * 
      * @throws WebBeansDeploymentException if any deployment exception occurs
      */
-    public void deploy(ScannerService scanner)
+    public synchronized void deploy(ScannerService scanner)
     {
         try
         {
@@ -186,19 +185,21 @@ public class BeansDeployer
                 // do some cleanup after the deployment
                 scanner.release();
                 webBeansContext.getAnnotatedElementFactory().clear();
-
-                deployed = true;
             }
-
         }
         catch(Exception e)
         {
             logger.log(Level.SEVERE, e.getMessage(), e);
             WebBeansUtil.throwRuntimeExceptions(e);
         }
+        finally
+        {
+            //if bootstrapping failed, it doesn't make sense to do it again
+            //esp. because #addInternalBean might have been called already and 
would cause an exception in the next run
+            deployed = true;
+        }
     }
 
-
     /**
      * Configure Default Beans.
      */


Reply via email to