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

remm pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/11.0.x by this push:
     new 18414bd1fd Minor improvement when replacing the configuration
18414bd1fd is described below

commit 18414bd1fdc7f38206441c2af4fe4f03c125fe46
Author: remm <r...@apache.org>
AuthorDate: Thu May 22 16:34:50 2025 +0200

    Minor improvement when replacing the configuration
---
 java/org/apache/catalina/valves/rewrite/RewriteValve.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/catalina/valves/rewrite/RewriteValve.java 
b/java/org/apache/catalina/valves/rewrite/RewriteValve.java
index 43ae26ea68..347e2d04f9 100644
--- a/java/org/apache/catalina/valves/rewrite/RewriteValve.java
+++ b/java/org/apache/catalina/valves/rewrite/RewriteValve.java
@@ -202,6 +202,11 @@ public class RewriteValve extends ValveBase {
         if (containerLog == null) {
             containerLog = LogFactory.getLog(getContainer().getLogName() + 
".rewrite");
         }
+        for (RewriteMap map : maps.values()) {
+            if (map instanceof Lifecycle) {
+                ((Lifecycle) map).stop();
+            }
+        }
         maps.clear();
         parse(new BufferedReader(new StringReader(configuration)));
     }
@@ -226,6 +231,7 @@ public class RewriteValve extends ValveBase {
     protected void parse(BufferedReader reader) throws LifecycleException {
         List<RewriteRule> rules = new ArrayList<>();
         List<RewriteCond> conditions = new ArrayList<>();
+        ArrayList<String> mapsConfiguration = new ArrayList<>();
         while (true) {
             try {
                 String line = reader.readLine();
@@ -271,12 +277,14 @@ public class RewriteValve extends ValveBase {
                 containerLog.error(sm.getString("rewriteValve.readError"), e);
             }
         }
-        this.rules = rules.toArray(new RewriteRule[0]);
+        this.mapsConfiguration = mapsConfiguration;
 
         // Finish parsing the rules
-        for (RewriteRule rule : this.rules) {
+        for (RewriteRule rule : rules) {
             rule.parse(maps);
         }
+
+        this.rules = rules.toArray(new RewriteRule[0]);
     }
 
     @Override


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

Reply via email to