Author: remm
Date: Thu Nov 17 07:34:09 2005
New Revision: 345264

URL: http://svn.apache.org/viewcvs?rev=345264&view=rev
Log:
- Remove excessive logging when failing to open a JAR as it may snowball
  and might be expected situations (moved to debug priority, reported as a
  regular classloading failure).

Modified:
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java?rev=345264&r1=345263&r2=345264&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
 Thu Nov 17 07:34:09 2005
@@ -977,16 +977,17 @@
 
         // Looking at the JAR files
         synchronized (jarFiles) {
-            openJARs();
-            for (i = 0; i < jarFilesLength; i++) {
-                JarEntry jarEntry = jarFiles[i].getJarEntry(name);
-                if (jarEntry != null) {
-                    try {
-                        String jarFakeUrl = getURI(jarRealFiles[i]).toString();
-                        jarFakeUrl = "jar:" + jarFakeUrl + "!/" + name;
-                        result.addElement(new URL(jarFakeUrl));
-                    } catch (MalformedURLException e) {
-                        // Ignore
+            if (openJARs()) {
+                for (i = 0; i < jarFilesLength; i++) {
+                    JarEntry jarEntry = jarFiles[i].getJarEntry(name);
+                    if (jarEntry != null) {
+                        try {
+                            String jarFakeUrl = 
getURI(jarRealFiles[i]).toString();
+                            jarFakeUrl = "jar:" + jarFakeUrl + "!/" + name;
+                            result.addElement(new URL(jarFakeUrl));
+                        } catch (MalformedURLException e) {
+                            // Ignore
+                        }
                     }
                 }
             }
@@ -1539,7 +1540,9 @@
                                        jarFiles[i] = null;
                                }
                             } catch (IOException e) {
-                                log.warn("Failed to close JAR", e);
+                                if (log.isDebugEnabled()) {
+                                    log.debug("Failed to close JAR", e);
+                                }
                             }
                         }
                     }
@@ -1666,19 +1669,23 @@
     /**
      * Used to periodically signal to the classloader to release JAR resources.
      */
-    protected void openJARs() {
+    protected boolean openJARs() {
         if (started && (jarFiles.length > 0)) {
             lastJarAccessed = System.currentTimeMillis();
             if (jarFiles[0] == null) {
                 for (int i = 0; i < jarFiles.length; i++) {
                        try {
-                               jarFiles[i] = new JarFile(jarRealFiles[i]);
+                        jarFiles[i] = new JarFile(jarRealFiles[i]);
                        } catch (IOException e) {
-                               log.warn("Failed to open JAR", e);
+                        if (log.isDebugEnabled()) {
+                            log.debug("Failed to open JAR", e);
+                        }
+                        return false;
                        }
                 }
             }
         }
+        return true;
     }
 
 
@@ -1903,7 +1910,9 @@
 
         synchronized (jarFiles) {
 
-            openJARs();
+            if (!openJARs()) {
+                return null;
+            }
             for (i = 0; (entry == null) && (i < jarFilesLength); i++) {
 
                 jarEntry = jarFiles[i].getJarEntry(path);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to