java 톰캣 Tomcat 7이 스프링 루트 WebApplicationContext 초기화 중 멈춤



스프링부트 톰캣 배포 (1)

Tomcat 7.0.24에 Spring 웹 응용 프로그램을 배포하려고하는데 시작시 마지막 줄 표시가 멈 춥니 다.

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.[email protected]]
Apr 4, 2014 1:38:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext

최근 Spring 4.0.2로 업그레이드하고 주석을 통해 고객 WebApplicationInitializer를 사용하고 있습니다. 업 그레 이드 전에 스프링 3을 순수한 XML 설정과 함께 사용하고 있었고 잘 작동했습니다. 내 web.xml 파일은 다음과 같습니다.

<?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>

내 웹 응용 프로그램 초기화 프로그램은 다음과 같습니다.

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/*");
  }
}

제가 빠진 것이 명백합니까? 이 주제에 대한 다른 모든 질문 / 답변을 확인했지만 해결책을 찾지 못했습니다.


이것에 대한 대답을 설정하면 다른 사람들이이 특별한 상황에서 나를 도왔던 것을 알 수 있습니다. 스프링 로깅을 켜면 데이터베이스 연결이 중단 된 상태인지 확인할 수있었습니다. 데이터베이스 문제를 해결하면 응용 프로그램 배포가 완료 될 수있었습니다.





initialization