Tomcat 7 se bloque lors de l'initialisation de Spring root WebApplicationContext

Je suis en train de déployer un Ressort d'applications web Tomcat 7.0.24 mais il se bloque au démarrage avec les dernières lignes montrant que

INFO: Deploying web application archive /usr/local/apps/tomcat-7.0.42/webapps/server-webapp.war
Apr 4, 2014 1:38:28 PM org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [com.verical.marketplace.init.MarketplaceWebAppInitializer@6a05fdf]
Apr 4, 2014 1:38:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext

J'ai récemment mis à jour pour le Printemps 4.0.2 et je suis à l'aide d'un client WebApplicationInitializer via des annotations. Avant la mise à niveau, j'ai été en utilisant le Printemps 3 pure XML de config et il a très bien fonctionné. Mon web.xml fichier ressemble à ceci:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="
     http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
     http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd"
     version="3.0">

<!-- Define the mime mappings -->
<mime-mapping>
    <extension>xsd</extension>
    <mime-type>text/xml</mime-type>
</mime-mapping>

<!-- Define the welcome file list -->
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- Define the default session timeout value -->
<session-config>
    <session-timeout>240</session-timeout>
    <cookie-config>
        <http-only>true</http-only>
        <secure>true</secure>
    </cookie-config>
</session-config>

Voici mon application web initialiseur:

public class MarketplaceWebAppInitializer implements WebApplicationInitializer
{
@Override
public void onStartup(ServletContext container)
{
//Instantiate a new web application context
XmlWebApplicationContext rootContext = new MarketplaceXmlWebApplicationContext(container);
//Add the various listeners
container.addListener(new ContextLoaderListener(rootContext));
container.addListener(new RequestContextListener());
//Set the locations of the configuration files
rootContext.setConfigLocations(
new String[]
{
"applicationContext.xml",
"config/api-beans.xml",
"config/hibernate-beans.xml",
"config/security-beans.xml",
"config/service-beans.xml",
"config/settings-beans.xml",
"config/utility-beans.xml",
"config/mvc/web-beans.xml",
"config/jmx-beans.xml",
"config/ws/ws-beans.xml"
}
);
//Add the dispatcher servlet
ServletRegistration.Dynamic mvc =
container.addServlet("mvc", new DispatcherServlet(rootContext));
mvc.setLoadOnStartup(1);
mvc.setInitParameter("dispatchOptionsRequest", "true");
mvc.addMapping("/api/*");
mvc.addMapping("/html/*");
//Add the web services servlet
ServletRegistration.Dynamic ws =
container.addServlet("ws", new MessageDispatcherServlet(rootContext));
ws.setLoadOnStartup(2);
ws.setInitParameter("transformWsdlLocations", "true");
ws.addMapping("/service/*");
//Add the spring security filter
FilterRegistration.Dynamic springSecurityFilter =
container.addFilter("springSecurityFilterChain",
new DelegatingFilterProxy("springSecurityFilterChain"));
springSecurityFilter.addMappingForUrlPatterns(null, true, "/j_spring_security_check");
springSecurityFilter.addMappingForUrlPatterns(null, true, "/j_spring_security_logout");
springSecurityFilter.addMappingForUrlPatterns(null, true, "/api/*");
springSecurityFilter.addMappingForUrlPatterns(null, true, "/html/*");
//Add the static content filter
FilterRegistration.Dynamic staticContentFilter =
container.addFilter("staticContentFilter", new StaticContentFilter());
staticContentFilter.addMappingForUrlPatterns(null, true, "/static/*");
staticContentFilter.addMappingForUrlPatterns(null, true, "/generated/*");
//Add the logger filter
FilterRegistration.Dynamic loggerFilter =
container.addFilter("loggerFilter", new LoggerFilter());
loggerFilter.addMappingForUrlPatterns(null, true, "/api/*");
loggerFilter.addMappingForUrlPatterns(null, true, "/html/*");
}
}

Est-il évident que je suis absent? J'ai vérifié toutes les autres questions/réponses sur ce sujet et n'ai pas trouvé une solution.

source d'informationauteur Matt Crysler