package com.github.jbai;
import java.io.File;
import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
public class WebAppInitializer implements WebApplicationInitializer {
private int maxUploadSizeInMb = 5 * 1024 * 1024; // 5 MB
@Override
public void onStartup(ServletContext container) {
AnnotationConfigWebApplicationContext mvcContext = new AnnotationConfigWebApplicationContext();
mvcContext.register(AppConfig.class);
mvcContext.register(WebConfig.class);
mvcContext.setServletContext(container);
mvcContext.refresh();
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet(mvcContext));
File tempdir = (File) container.getAttribute("javax.servlet.context.tempdir");
registration.setMultipartConfig(new MultipartConfigElement(tempdir.getAbsolutePath(), maxUploadSizeInMb, maxUploadSizeInMb * 2, maxUploadSizeInMb / 2));
registration.setLoadOnStartup(1);
registration.setAsyncSupported(true);
registration.addMapping("/");
}
}