From 2aac84648ef66865bce6aedef32ed902ec5599f5 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 22 Jun 2011 14:59:11 +0000 Subject: [PATCH] Further improvements to startup performance. Use File URLs where they can be determined for speed. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1138497 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/tomcat/util/scan/StandardJarScanner.java | 9 ++++++++- webapps/docs/changelog.xml | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java index 546b073f8..437419002 100644 --- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java +++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java @@ -155,7 +155,14 @@ public class StandardJarScanner implements JarScanner { } URL url = null; try { - url = context.getResource(path); + // File URLs are always faster to work with so use them + // if available. + String realPath = context.getRealPath(path); + if (realPath == null) { + url = context.getResource(path); + } else { + url = (new File(realPath)).toURI().toURL(); + } process(callback, url); } catch (IOException e) { log.warn(sm.getString("jarScan.webinflibFail", url), e); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index af71ac9c3..572d7961c 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -121,6 +121,11 @@ 51403: Avoid NPE in JULI FileHandler if formatter is misconfigured. (kkolinko) + + Previous improvements in JAR scanning performance introduced a start-up + performance penalty for some use cases. This fix addresses those + performance penalties while retaining the original improvements. (markt) + -- 2.11.0