From efbbd8b36741c453882847f152e4428f1b6c43fe Mon Sep 17 00:00:00 2001 From: dreis2211 Date: Thu, 1 Oct 2020 12:02:38 +0200 Subject: [PATCH] Improve performance of DispatcherServletRegistrationCondition See gh-23554 --- .../web/servlet/DispatcherServletAutoConfiguration.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java index 6a4c61c9561..2b30980d56d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java @@ -168,10 +168,13 @@ public class DispatcherServletAutoConfiguration { } private ConditionOutcome checkDefaultDispatcherName(ConfigurableListableBeanFactory beanFactory) { + boolean containsDispatcherBean = beanFactory.containsBean(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME); + if (!containsDispatcherBean) { + return ConditionOutcome.match(); + } List servlets = Arrays .asList(beanFactory.getBeanNamesForType(DispatcherServlet.class, false, false)); - boolean containsDispatcherBean = beanFactory.containsBean(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME); - if (containsDispatcherBean && !servlets.contains(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)) { + if (!servlets.contains(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)) { return ConditionOutcome.noMatch( startMessage().found("non dispatcher servlet").items(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)); }