parent
0067618b35
commit
847b54f3b1
|
|
@ -19,9 +19,10 @@ package org.springframework.web;
|
||||||
import static org.springframework.beans.BeanUtils.instantiateClass;
|
import static org.springframework.beans.BeanUtils.instantiateClass;
|
||||||
|
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.ServiceLoader;
|
import java.util.ServiceLoader;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
|
||||||
|
|
||||||
import javax.servlet.ServletContainerInitializer;
|
import javax.servlet.ServletContainerInitializer;
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
|
|
@ -136,23 +137,22 @@ public class SpringServletContainerInitializer implements ServletContainerInitia
|
||||||
public void onStartup(Set<Class<?>> webAppInitializerClasses,
|
public void onStartup(Set<Class<?>> webAppInitializerClasses,
|
||||||
ServletContext servletContext) throws ServletException {
|
ServletContext servletContext) throws ServletException {
|
||||||
|
|
||||||
Set<WebApplicationInitializer> initializers =
|
ArrayList<WebApplicationInitializer> initializers = new ArrayList<WebApplicationInitializer>();
|
||||||
new TreeSet<WebApplicationInitializer>(new AnnotationAwareOrderComparator());
|
|
||||||
|
|
||||||
for (Class<?> waiClass : webAppInitializerClasses) {
|
for (Class<?> waiClass : webAppInitializerClasses) {
|
||||||
if (Modifier.isAbstract(waiClass.getModifiers())) {
|
if (!Modifier.isAbstract(waiClass.getModifiers())) {
|
||||||
// the class is not instantiable (i.e. abstract or an interface) -> skip it
|
// the class can be instantiated -> add it
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
initializers.add(instantiateClass(waiClass, WebApplicationInitializer.class));
|
initializers.add(instantiateClass(waiClass, WebApplicationInitializer.class));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (initializers.isEmpty()) {
|
if (initializers.isEmpty()) {
|
||||||
logger.info("Detected no WebApplicationInitializer types on the classpath: exiting.");
|
logger.info("Detected no WebApplicationInitializer types on the classpath: exiting.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collections.sort(initializers, new AnnotationAwareOrderComparator());
|
||||||
|
|
||||||
logger.info("Delegating ServletContext to the following " +
|
logger.info("Delegating ServletContext to the following " +
|
||||||
"WebApplicationInitializer instances: " + initializers);
|
"WebApplicationInitializer instances: " + initializers);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue