Author: rmannibucau
Date: Mon Jul  9 18:18:48 2012
New Revision: 1359326

URL: http://svn.apache.org/viewvc?rev=1359326&view=rev
Log:
TOMEE-273 adding flag openejb.cdi.skip-class-not-found to skip not loadable 
beans, can lead to errors in normal case

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1359326&r1=1359325&r2=1359326&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
 Mon Jul  9 18:18:48 2012
@@ -22,6 +22,7 @@ import org.apache.openejb.AppContext;
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.OpenEJBRuntimeException;
 import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.webbeans.component.InjectionPointBean;
 import org.apache.webbeans.component.NewBean;
 import org.apache.webbeans.config.OWBLogConst;
@@ -75,11 +76,15 @@ public class OpenEJBLifecycle implements
     //Logger instance
     protected static WebBeansLogger logger = 
WebBeansLogger.getLogger(OpenEJBLifecycle.class);
 
+    public static final String OPENEJB_CDI_SKIP_CLASS_NOT_FOUND = 
"openejb.cdi.skip-class-not-found";
+
     /**Discover bean classes*/
     protected ScannerService scannerService;
 
     protected final ContextsService contextsService;
 
+    private final boolean skipClassNotFoundError;
+
     /**Deploy discovered beans*/
     private final BeansDeployer deployer;
 
@@ -114,6 +119,8 @@ public class OpenEJBLifecycle implements
         this.scannerService = webBeansContext.getScannerService();
         this.contextsService = webBeansContext.getContextsService();
 
+        this.skipClassNotFoundError = 
SystemInstance.get().getOptions().get(OPENEJB_CDI_SKIP_CLASS_NOT_FOUND, false);
+
         initApplication(null);
     }
 
@@ -373,7 +380,7 @@ public class OpenEJBLifecycle implements
             try {
                 processAnnotatedEvent = 
webBeansContext.getWebBeansUtil().fireProcessAnnotatedTypeEvent(implClass.getValue());
             } catch (RuntimeException cnfe) {
-                if (rootCauseIsClassNotFound(cnfe)) {
+                if (skipClassNotFoundError && rootCauseIsClassNotFound(cnfe)) {
                     logger.error("an error occured firing 
ProcessAnnotatedEvent for class "
                         + implClass.getValue().getJavaClass().getName() + ". 
Skipping the bean.");
                     logger.debug("Skipping bean cause", cnfe);


Reply via email to