Author: rmannibucau
Date: Mon Mar 25 06:01:10 2013
New Revision: 1460525

URL: http://svn.apache.org/r1460525
Log:
TOMEE-841 logging classes which can't be loaded when checking cdi classes -> 
debug on OpenEJB.startup category

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1460525&r1=1460524&r2=1460525&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 Mon Mar 25 06:01:10 2013
@@ -1258,6 +1258,7 @@ public class AnnotationDeployer implemen
                     managedClasses = beans.getManagedClasses();
                     final List<String> classNames = getBeanClasses(finder);
 
+                    final Set<String> notLoadedClasses = new TreeSet<String>();
                     for (String rawClassName : classNames) {
                         final String className = realClassName(rawClassName);
                         try {
@@ -1276,13 +1277,17 @@ public class AnnotationDeployer implemen
                             if (Extension.class.isAssignableFrom(clazz)) 
continue;
 
                             managedClasses.add(className);
-                        } catch (ClassNotFoundException e) {
-                            // todo log debug warning
-                        } catch (java.lang.NoClassDefFoundError e) {
+                        } catch (final ClassNotFoundException e) {
+                            notLoadedClasses.add(rawClassName);
+                        } catch (final java.lang.NoClassDefFoundError e) {
                             // no-op
                         }
                     }
 
+                    if (!notLoadedClasses.isEmpty()) { // don't log in info or 
warning since not 100% JavaEE/CDI libs will break the whole logs
+                        logger.debug("Some classes can't be loaded: " + 
Join.join("\n", notLoadedClasses.toArray(new String[notLoadedClasses.size()])));
+                    }
+
                     // passing jar location to be able to manage maven 
classes/test-classes which have the same moduleId
                     String id = ejbModule.getModuleId();
                     if (ejbModule.getJarLocation() != null && 
ejbModule.getJarLocation().contains(ejbModule.getModuleId() + 
"/target/test-classes".replace("/", File.separator))) {


Reply via email to