@Override public Servlet getServletInstance(ServletContext context) { ClassLoader orig = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(module.getClassLoader()); try { final GenericWebApplicationContext mvcContext = new GenericWebApplicationContext(context); mvcContext.setClassLoader(module.getClassLoader()); mvcContext.setServletContext(context); XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(mvcContext); xmlReader.setBeanClassLoader(module.getClassLoader()); xmlReader.loadBeanDefinitions(new ClassPathResource(springMvcApplicationContextLocation, module.getClassLoader())); mvcContext.setParent(existingLilyRuntimeSpringContext); mvcContext.refresh(); return new JerseySpringServlet(mvcContext); } finally { Thread.currentThread().setContextClassLoader(orig); } }
@Override public Servlet getServletInstance(ServletContext context) { ClassLoader orig = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(module.getClassLoader()); try { final GenericWebApplicationContext mvcContext = new GenericWebApplicationContext(context); mvcContext.setClassLoader(module.getClassLoader()); mvcContext.setServletContext(context); XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(mvcContext); xmlReader.setBeanClassLoader(module.getClassLoader()); xmlReader.loadBeanDefinitions(new ClassPathResource(springMvcApplicationContextLocation, module.getClassLoader())); mvcContext.setParent(existingLilyRuntimeSpringContext); mvcContext.refresh(); DispatcherServlet dispatcherServlet = new DispatcherServlet(mvcContext); dispatcherServlet.setDetectAllHandlerMappings(true); return dispatcherServlet; } finally { Thread.currentThread().setContextClassLoader(orig); } }