|
From: Geyer, R. <Ran...@in...> - 2014-01-14 00:24:40
|
import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;
import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
import org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.DelegatingFilterProxy;
import org.springframework.web.servlet.DispatcherServlet;
/**
* WebApplicationInitializer that configures the ServletContext programmatically for
* RestEasy support.
*
* @see WebApplicationInitializer
*
* @author rgeyer
* @version $Author: rgeyer $ $DateTime: 2014/01/10 17:50:52 $ $Revision: #2 $
*/
public class RestEasyApplicationInitializer implements WebApplicationInitializer {
private static final Logger logger = LoggerFactory.getLogger(RestEasyApplicationInitializer.class);
@Override
public void onStartup(ServletContext container) throws ServletException {
logger.info("onStartup()");
// RestEasy listener
container.setInitParameter("resteasy.document.expand.entity.references", "false");
container.setInitParameter("resteasy.logger.type", "SLF4J");
//container.setInitParameter("javax.ws.rs.Application", null);
container.addListener(new ResteasyBootstrap());
// Spring root application context with RestEasy support
final AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
container.addListener(new RestEasyContextLoaderListener(rootContext));
rootContext.register(AppConfig.class);
// Spring Dispatcher servlet
final DispatcherServlet springServlet = new DispatcherServlet(webContext);
final Dynamic publicDispatcher = container.addServlet("springDispatcher", springServlet);
publicDispatcher.setLoadOnStartup(1);
publicDispatcher.addMapping("/");
// RestEasy Dispatcher servlet
final HttpServletDispatcher restServlet = new HttpServletDispatcher();
final Dynamic restDispatcher = container.addServlet("restEasyDispatcher", restServlet);
restDispatcher.addMapping("/sync/*");
}
} |