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.
*/