2016-04-10 12 views
0

Aşağıdaki kodla birlikte AbstractAnnotationConfigDispatcherServletInitializer yerine ilkbahar WebApplicationInitializer kullanıyorum.bahar WebApplicationInitializer StandardContext yayınının, ciddi bir şekilde başlatıldıktan hemen sonra yeniden yüklenmesini nasıl sağlar?

Uygulama ilk başlatma tamamlandıktan sonra yeniden yüklenir ve aşağıdaki günlüğe yeniden başlar.

INFO: Initializing Spring root WebApplicationContext 
**************************false 
Apr 11, 2016 2:58:56 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'dispatcher' 
Apr 11, 2016 2:58:57 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-nio-8080"] 
Apr 11, 2016 2:58:57 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-nio-8009"] 
Apr 11, 2016 2:58:57 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 18577 ms 
Apr 11, 2016 2:59:07 AM org.apache.catalina.core.StandardContext reload 
INFO: Reloading Context with name [/iamSystem] has started 
Apr 11, 2016 2:59:07 AM org.apache.catalina.core.ApplicationContext log 
INFO: Destroying Spring FrameworkServlet 'dispatcher' 
Apr 11, 2016 2:59:07 AM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
Apr 11, 2016 2:59:07 AM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc 
WARNING: The web application [iamSystem] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Apr 11, 2016 2:59:08 AM org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading 


Apr 11, 2016 2:59:12 AM org.apache.jasper.servlet.TldScanner scanJars 
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 
Apr 11, 2016 2:59:12 AM org.apache.catalina.core.ApplicationContext log 
INFO: Spring WebApplicationInitializers detected on classpath: [[email protected], [email protected]f] 
Apr 11, 2016 2:59:13 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
**************************false 
Apr 11, 2016 2:59:21 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'dispatcher' 
Apr 11, 2016 2:59:22 AM org.apache.catalina.core.StandardContext reload 
INFO: Reloading Context with name [/iamSystem] is completed 

i kullanırsanız AbstractAnnotationConfigDispatcherServletInitializer

public class SpringWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

@Override 
protected Class<?>[] getRootConfigClasses() { 
    return new Class<?>[] { AppConfig.class }; 
    // return new Class[] { WebMvcConfig.class }; 
    // return null; 
} 

// Since we have a single DispatcherServlet here, we can add the WebConfig 
// to the root context and make the servlet context empty 
@Override 
protected Class<?>[] getServletConfigClasses() { 
    return new Class<?>[] { WebMvcConfig.class }; 
    // return new Class[] { }; 
    // return null; 
} 

@Override 
protected String[] getServletMappings() { 

    return new String[] { "/" }; 
} 

@Override 
protected Filter[] getServletFilters() { 
    return new Filter[] { new DelegatingFilterProxy("springSecurityFilterChain"), 
      new OpenEntityManagerInViewFilter() }; 
} 

// By default when the DispatcherServlet can't find a handler for a request 
// it sends a 404 response. However if its property 
// "throwExceptionIfNoHandlerFound" is set to true this exception is raised 
// and may be handled with a configured HandlerExceptionResolver 
@Override 
protected void customizeRegistration(ServletRegistration.Dynamic registration) { 
    boolean done = registration.setInitParameter("throwExceptionIfNoHandlerFound", "true"); // -> 
                          // true 
    if (!done) 
     throw new RuntimeException(); 
} 

} 

sunucu yalnızca bir defa

sorunu nedir başarıyı başlamak yolunda mı?

cevap

0

Bunu iki kere yeniden yükler, bu yüzden iki kez başlatmasını gibidir:

// Register the Root application context 
    AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); 
. 
. 
. 
    // Register the Web application context 
    AnnotationConfigWebApplicationContext mvcContext = new AnnotationConfigWebApplicationContext(); 
    mvcContext.register(WebMvcConfig.class); 
+0

benim webapplicationinitializer izleyin bahar doc olduğunu http://docs.spring.io/spring/docs/current/javadoc-api/org/ Spring Framework/web/WebApplicationInitializer.html. o zaman bir kere başlayabilmek için ne yazmalıyım? –

İlgili konular