diff --git a/spring-web/src/main/java/org/springframework/web/util/ParsingPathMatcher.java b/spring-web/src/main/java/org/springframework/web/util/ParsingPathMatcher.java index d3f585301d..4344e7183c 100644 --- a/spring-web/src/main/java/org/springframework/web/util/ParsingPathMatcher.java +++ b/spring-web/src/main/java/org/springframework/web/util/ParsingPathMatcher.java @@ -43,8 +43,7 @@ public class ParsingPathMatcher implements PathMatcher { private final ConcurrentMap cache = new ConcurrentHashMap<>(64); - private static final ThreadLocal PARSER - = ThreadLocal.withInitial(() -> new PathPatternParser()); + private final PathPatternParser parser = new PathPatternParser(); @Override public boolean match(String pattern, String path) { @@ -113,7 +112,7 @@ public class ParsingPathMatcher implements PathMatcher { private PathPattern getPathPattern(String pattern) { PathPattern pathPattern = this.cache.get(pattern); if (pathPattern == null) { - pathPattern = PARSER.get().parse(pattern); + pathPattern = this.parser.parse(pattern); this.cache.put(pattern, pathPattern); } return pathPattern; diff --git a/spring-web/src/main/java/org/springframework/web/util/patterns/PathPatternParser.java b/spring-web/src/main/java/org/springframework/web/util/patterns/PathPatternParser.java index 341da7898a..5c56a62f6f 100644 --- a/spring-web/src/main/java/org/springframework/web/util/patterns/PathPatternParser.java +++ b/spring-web/src/main/java/org/springframework/web/util/patterns/PathPatternParser.java @@ -63,9 +63,9 @@ public class PathPatternParser { * @param pathPattern the input path pattern, e.g. /foo/{bar} * @return a PathPattern for quickly matching paths against the specified path pattern */ - public PathPattern parse(String pattern) { + public PathPattern parse(String pathPattern) { InternalPathPatternParser ippp = new InternalPathPatternParser(separator, caseSensitive); - return ippp.parse(pattern); + return ippp.parse(pathPattern); } }