This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push:
new ec9e75ac14 Minor improvement when replacing the configuration
ec9e75ac14 is described below
commit ec9e75ac1453cbe60bbccc73f99a157fbe72ff3b
Author: remm <[email protected]>
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 4198023b32..8c4375c18c 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();
@@ -272,12 +278,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: [email protected]
For additional commands, e-mail: [email protected]