You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/04/08 04:01:44 UTC
svn commit: r1310938 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Author: dblevins
Date: Sun Apr 8 02:01:43 2012
New Revision: 1310938
URL: http://svn.apache.org/viewvc?rev=1310938&view=rev
Log:
TOMEE-159: Removed "load every class" logic that crept in prior to certification -- performance issue
Code was loading every class so it could be scanned. Refined it to web classes only (@WebListener, @WebServlet, @WebFilter)
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1310938&r1=1310937&r2=1310938&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Sun Apr 8 02:01:43 2012
@@ -1899,18 +1899,18 @@ public class AnnotationDeployer implemen
IAnnotationFinder finder = webModule.getFinder();
- if (finder != null && false) {
- // Add all the classes of the previous finder
- // TODO this part can be optimized
- final List<String> classNames = finder.getAnnotatedClassNames();
- for (String rawClassName : classNames) {
- final String className = realClassName(rawClassName);
+ if (finder != null) {
+
+ for (String apiClassName : WEB_CLASSES) {
+ final Class<? extends Annotation> clazz;
try {
- Class clazz = classLoader.loadClass(className);
- classes.add(clazz);
- } catch (Throwable e) {
- logger.debug(String.format("%s: Unable to load class for scanning: %s", e.getClass().getName(), className));
+ clazz = (Class<? extends Annotation>) classLoader.loadClass(apiClassName);
+ } catch (ClassNotFoundException e) {
+ continue;
}
+
+ final List<Class<?>> found = finder.findAnnotatedClasses(clazz);
+ classes.addAll(found);
}
}