From 894044cea0d5f693de79815a1bd6e8a355a513d2 Mon Sep 17 00:00:00 2001 From: Kamil Szymanski Date: Tue, 11 Dec 2018 12:12:15 +0100 Subject: [PATCH] Optimize ResourceUrlProvider Closes gh-2008 --- .../web/reactive/resource/ResourceUrlProvider.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java index 04a97582e2..f0c1f119cc 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java @@ -144,9 +144,8 @@ public class ResourceUrlProvider implements ApplicationListener resolveResourceUrl(ServerWebExchange exchange, PathContainer lookupPath) { return this.handlerMap.entrySet().stream() .filter(entry -> entry.getKey().matches(lookupPath)) - .sorted((entry1, entry2) -> + .min((entry1, entry2) -> PathPattern.SPECIFICITY_COMPARATOR.compare(entry1.getKey(), entry2.getKey())) - .findFirst() .map(entry -> { PathContainer path = entry.getKey().extractPathWithinPattern(lookupPath); int endIndex = lookupPath.elements().size() - path.elements().size();