Author: kkolinko
Date: Fri Sep 12 19:18:22 2014
New Revision: 1624618

URL: http://svn.apache.org/r1624618
Log:
Performance improvement: skip processing early when there are no annotations on 
the class.

Modified:
    tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1624618&r1=1624617&r2=1624618&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Fri Sep 12 
19:18:22 2014
@@ -1990,10 +1990,9 @@ public class ContextConfig implements Li
             return;
         }
 
-        String className = clazz.getClassName();
-
         AnnotationEntry[] annotationsEntries = clazz.getAnnotationEntries();
         if (annotationsEntries != null) {
+            String className = clazz.getClassName();
             for (AnnotationEntry ae : annotationsEntries) {
                 String type = ae.getAnnotationType();
                 if ("Ljavax/servlet/annotation/WebServlet;".equals(type)) {
@@ -2066,13 +2065,14 @@ public class ContextConfig implements Li
         }
 
         if (handlesTypesAnnotations) {
-            for (Map.Entry<Class<?>, Set<ServletContainerInitializer>> entry :
-                    typeInitializerMap.entrySet()) {
-                if (entry.getKey().isAnnotation()) {
-                    AnnotationEntry[] annotationEntries = 
javaClass.getAnnotationEntries();
-                    if (annotationEntries != null) {
+            AnnotationEntry[] annotationEntries = 
javaClass.getAnnotationEntries();
+            if (annotationEntries != null) {
+                for (Map.Entry<Class<?>, Set<ServletContainerInitializer>> 
entry :
+                        typeInitializerMap.entrySet()) {
+                    if (entry.getKey().isAnnotation()) {
+                        String entryClassName = entry.getKey().getName();
                         for (AnnotationEntry annotationEntry : 
annotationEntries) {
-                            if (entry.getKey().getName().equals(
+                            if (entryClassName.equals(
                                     
getClassName(annotationEntry.getAnnotationType()))) {
                                 if (clazz == null) {
                                     clazz = Introspection.loadClass(



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to