This commit is contained in:
Phillip Webb
2025-04-07 15:07:22 -07:00
parent 3c806d2b31
commit 57a5fb075d
2 changed files with 12 additions and 17 deletions

View File

@@ -41,6 +41,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.aop.scope.ScopedProxyUtils;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
import org.springframework.core.annotation.Order;
import org.springframework.util.Assert;
@@ -198,20 +199,18 @@ public class ServletContextInitializerBeans extends AbstractCollection<ServletCo
}
private int getOrder(Object value) {
return new AnnotationAwareOrderComparator() {
@Override
public int getOrder(Object obj) {
return super.getOrder(obj);
}
}.getOrder(value);
Integer order = findOrder(value);
return (order != null) ? order : Ordered.LOWEST_PRECEDENCE;
}
private Integer findOrder(Object value) {
return new AnnotationAwareOrderComparator() {
@Override
public Integer findOrder(Object obj) {
return super.findOrder(obj);
}
}.findOrder(value);
}
@@ -318,9 +317,7 @@ public class ServletContextInitializerBeans extends AbstractCollection<ServletCo
bean.setAsyncSupported(registration.asyncSupported());
bean.setIgnoreRegistrationFailure(registration.ignoreRegistrationFailure());
bean.setLoadOnStartup(registration.loadOnStartup());
if (registration.urlMappings().length > 0) {
bean.setUrlMappings(Arrays.asList(registration.urlMappings()));
}
bean.setUrlMappings(Arrays.asList(registration.urlMappings()));
}
}
@@ -363,12 +360,8 @@ public class ServletContextInitializerBeans extends AbstractCollection<ServletCo
}
bean.setIgnoreRegistrationFailure(registration.ignoreRegistrationFailure());
bean.setMatchAfter(registration.matchAfter());
if (registration.servletNames().length > 0) {
bean.setServletNames(Arrays.asList(registration.servletNames()));
}
if (registration.urlPatterns().length > 0) {
bean.setUrlPatterns(Arrays.asList(registration.urlPatterns()));
}
bean.setServletNames(Arrays.asList(registration.servletNames()));
bean.setUrlPatterns(Arrays.asList(registration.urlPatterns()));
}
}
@@ -387,6 +380,9 @@ public class ServletContextInitializerBeans extends AbstractCollection<ServletCo
}
/**
* Tracks seen initializers.
*/
private static final class Seen {
private final Map<Class<?>, Set<Object>> seen = new HashMap<>();