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);