You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by is...@apache.org on 2019/12/25 04:27:49 UTC

[tomcat] branch master updated (d9f243a -> 81e7215)

This is an automated email from the ASF dual-hosted git repository.

isapir pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


    from d9f243a  Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64023
     new 21d08e1    BZ-63691 Skip all jar scanning if wildcard pattern is used
     new 317644c  BZ-63691 Added changelog entry
     new 81e7215  BZ-63691 Improved changelog entry

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 java/org/apache/tomcat/JarScanFilter.java                   | 9 +++++++++
 java/org/apache/tomcat/util/scan/StandardJarScanFilter.java | 8 ++++++++
 java/org/apache/tomcat/util/scan/StandardJarScanner.java    | 9 +++++++++
 webapps/docs/changelog.xml                                  | 5 +++++
 4 files changed, 31 insertions(+)


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


[tomcat] 01/03: BZ-63691 Skip all jar scanning if wildcard pattern is used

Posted by is...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

isapir pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 21d08e1952d6612da9a712a173c81174958f4b8b
Author: Igal Sapir <is...@apache.org>
AuthorDate: Tue Dec 24 16:41:29 2019 -0800

      BZ-63691 Skip all jar scanning if wildcard pattern is used
---
 java/org/apache/tomcat/JarScanFilter.java                   | 9 +++++++++
 java/org/apache/tomcat/util/scan/StandardJarScanFilter.java | 8 ++++++++
 java/org/apache/tomcat/util/scan/StandardJarScanner.java    | 9 +++++++++
 3 files changed, 26 insertions(+)

diff --git a/java/org/apache/tomcat/JarScanFilter.java b/java/org/apache/tomcat/JarScanFilter.java
index d7f6738..d3aeb45 100644
--- a/java/org/apache/tomcat/JarScanFilter.java
+++ b/java/org/apache/tomcat/JarScanFilter.java
@@ -28,4 +28,13 @@ public interface JarScanFilter {
      *             <code>false</code> if it should be excluded
      */
     boolean check(JarScanType jarScanType, String jarName);
+
+    /**
+     *
+     * @return <code>true</code> if all of the scans should be skipped which
+     * can improve startup performance. The default is <code>false</code>.
+     */
+    default boolean isSkipAll() {
+        return false;
+    }
 }
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java b/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
index 84d3725..6e942a2 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
@@ -36,11 +36,13 @@ public class StandardJarScanFilter implements JarScanFilter {
     private static final String defaultScan;
     private static final Set<String> defaultSkipSet = new HashSet<>();
     private static final Set<String> defaultScanSet = new HashSet<>();
+    private static final boolean defaultSkipAll;
 
     static {
         // Initialize defaults. There are no setter methods for them.
         defaultSkip = System.getProperty(Constants.SKIP_JARS_PROPERTY);
         populateSetFromAttribute(defaultSkip, defaultSkipSet);
+        defaultSkipAll = defaultSkipSet.contains("*") || defaultSkipSet.contains("*.jar");
         defaultScan = System.getProperty(Constants.SCAN_JARS_PROPERTY);
         populateSetFromAttribute(defaultScan, defaultScanSet);
     }
@@ -132,6 +134,12 @@ public class StandardJarScanFilter implements JarScanFilter {
     }
 
 
+    @Override
+    public boolean isSkipAll() {
+        return defaultSkipAll;
+    }
+
+
     public boolean isDefaultTldScan() {
         return defaultTldScan;
     }
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 9b12ce9..16a2396 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -171,6 +171,10 @@ public class StandardJarScanner implements JarScanner {
             log.trace(sm.getString("jarScan.webinflibStart"));
         }
 
+        if (jarScanFilter.isSkipAll()) {
+            return;
+        }
+
         Set<URL> processedURLs = new HashSet<>();
 
         // Scan WEB-INF/lib
@@ -282,6 +286,11 @@ public class StandardJarScanner implements JarScanner {
 
     protected void processURLs(JarScanType scanType, JarScannerCallback callback,
             Set<URL> processedURLs, boolean isWebapp, Deque<URL> classPathUrlsToProcess) {
+
+        if (jarScanFilter.isSkipAll()) {
+            return;
+        }
+
         while (!classPathUrlsToProcess.isEmpty()) {
             URL url = classPathUrlsToProcess.pop();
 


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


[tomcat] 03/03: BZ-63691 Improved changelog entry

Posted by is...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

isapir pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 81e721526d4125e68e591dddf14dbb460f02f43b
Author: Igal Sapir <is...@apache.org>
AuthorDate: Tue Dec 24 17:13:52 2019 -0800

    BZ-63691 Improved changelog entry
---
 webapps/docs/changelog.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index c97b9f5..f8f1894 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -80,8 +80,8 @@
         sessions. (schultz)
       </fix>
       <update>
-        <bug>63691</bug>: Skip all jars and directories scanning when a wildcard
-        pattern <code>*</code> or <code>*.jar</code> is set or added to
+        <bug>63691</bug>: Skip all jar and directory scanning when the wildcard
+        pattern &quot;*&quot; or &quot;*.jar&quot; is set or added to
         <code>tomcat.util.scan.StandardJarScanFilter.jarsToSkip</code>. (isapir)
       </update>
     </changelog>


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


[tomcat] 02/03: BZ-63691 Added changelog entry

Posted by is...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

isapir pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 317644c7faca4fd47e6e561b2f121bd78732b33a
Author: Igal Sapir <is...@apache.org>
AuthorDate: Tue Dec 24 16:58:56 2019 -0800

    BZ-63691 Added changelog entry
---
 webapps/docs/changelog.xml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 7fb5f6b..c97b9f5 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -79,6 +79,11 @@
         <bug>64023</bug>: Skip null-valued session attributes when deserializing
         sessions. (schultz)
       </fix>
+      <update>
+        <bug>63691</bug>: Skip all jars and directories scanning when a wildcard
+        pattern <code>*</code> or <code>*.jar</code> is set or added to
+        <code>tomcat.util.scan.StandardJarScanFilter.jarsToSkip</code>. (isapir)
+      </update>
     </changelog>
   </subsection>
   <subsection name="Coyote">


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