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