Author: gpetracek
Date: Wed May 15 21:50:50 2013
New Revision: 1483106

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

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1483106&r1=1483105&r2=1483106&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
 Wed May 15 21:50:50 2013
@@ -62,6 +62,7 @@ import org.apache.webbeans.spi.plugins.O
 import org.apache.webbeans.spi.plugins.OpenWebBeansWebPlugin;
 import org.apache.webbeans.util.AnnotationUtil;
 import org.apache.webbeans.util.ClassUtil;
+import org.apache.webbeans.util.ExceptionUtil;
 import org.apache.webbeans.util.InjectionExceptionUtil;
 import org.apache.webbeans.util.WebBeansConstants;
 import org.apache.webbeans.util.WebBeansUtil;
@@ -140,7 +141,7 @@ public class BeansDeployer
      * 
      * @throws WebBeansDeploymentException if any deployment exception occurs
      */
-    public void deploy(ScannerService scanner)
+    public synchronized void deploy(ScannerService scanner)
     {
         try
         {
@@ -200,19 +201,20 @@ 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);
+            throw ExceptionUtil.throwAsRuntimeException(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