Author: markt
Date: Fri Nov  8 09:30:39 2013
New Revision: 1539959

URL: http://svn.apache.org/r1539959
Log:
Reduce calls to exists()

Modified:
    tomcat/trunk/java/org/apache/catalina/webresources/CachedResource.java
    tomcat/trunk/java/org/apache/catalina/webresources/FileResource.java

Modified: tomcat/trunk/java/org/apache/catalina/webresources/CachedResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/CachedResource.java?rev=1539959&r1=1539958&r2=1539959&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/CachedResource.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/CachedResource.java Fri 
Nov  8 09:30:39 2013
@@ -66,6 +66,13 @@ public class CachedResource implements W
                     getLastModified();
                     getContentLength();
                     nextCheck = ttl + now;
+                    // exists() is a relatively expensive check for a file so
+                    // use the fact that we know if it exists at this point
+                    if (webResource instanceof EmptyResource) {
+                        cachedExists = Boolean.FALSE;
+                    } else {
+                        cachedExists = Boolean.TRUE;
+                    }
                     return true;
                 }
             }

Modified: tomcat/trunk/java/org/apache/catalina/webresources/FileResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/FileResource.java?rev=1539959&r1=1539958&r2=1539959&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/FileResource.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/FileResource.java Fri 
Nov  8 09:30:39 2013
@@ -126,14 +126,10 @@ public class FileResource extends Abstra
 
     @Override
     protected InputStream doGetInputStream() {
-        if (resource.exists()) {
-            try {
-                return new FileInputStream(resource);
-            } catch (FileNotFoundException fnfe) {
-                // Race condition - not an error
-                return null;
-            }
-        } else {
+        try {
+            return new FileInputStream(resource);
+        } catch (FileNotFoundException fnfe) {
+            // Race condition (file has been deleted) - not an error
             return null;
         }
     }



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

Reply via email to