@Override
 public void onStartup(ServletContext servletContext) throws ServletException {
   if (this.session.getTrackingModes() != null) {
     servletContext.setSessionTrackingModes(this.session.getTrackingModes());
   }
   configureSessionCookie(servletContext.getSessionCookieConfig());
 }
 @Override
 public void onStartup(ServletContext servletContext) throws ServletException {
   WebApplicationContext context = getContext();
   ServletRegistration.Dynamic dispatcher =
       servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context));
   dispatcher.setAsyncSupported(true);
   dispatcher.setLoadOnStartup(1);
   dispatcher.addMapping("/secure/*");
   servletContext.addListener(new ContextLoaderListener(context));
   servletContext.setSessionTrackingModes(EnumSet.of(SessionTrackingMode.COOKIE));
 }
 /* (non-Javadoc)
  * @see org.springframework.web.WebApplicationInitializer#onStartup(javax.servlet.ServletContext)
  */
 public final void onStartup(ServletContext servletContext) throws ServletException {
   if (contextLoaderListenerInitializer != null) {
     contextLoaderListenerInitializer.onStartup(servletContext);
   }
   if (enableHttpSessionEventPublisher()) {
     servletContext.addListener(
         "org.springframework.security.web.session.HttpSessionEventPublisher");
   }
   servletContext.setSessionTrackingModes(getSessionTrackingModes());
   insertSpringSecurityFilterChain(servletContext);
   afterSpringSecurityFilterChain(servletContext);
 }
 @Override
 public void setSessionTrackingModes(Set<SessionTrackingMode> set) {
   proxy.setSessionTrackingModes(set);
 }
 @Override
 public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) {
   sc.setSessionTrackingModes(sessionTrackingModes);
 }
 public void setSessionTrackingModes(Set<SessionTrackingMode> arg0) {
   servletContext.setSessionTrackingModes(arg0);
 }