@Override protected void init(DeploymentInfo servletBuilder) { addFilterMappings(servletBuilder); AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); appContext.register(HelloController.class); appContext.register(SpringConfig.class); servletBuilder.addServlet(new ServletInfo("DispatcherServlet", DispatcherServlet.class, () -> new ImmediateInstanceHandle(new DispatcherServlet(appContext))).addMapping("/*")); }
.setDeploymentName("undertow-websocket-test") .setContextPath("/") .addServlet(servletInfo) .addServletContextAttribute(WebSocketDeploymentInfo.ATTRIBUTE_NAME, info); for (final Filter filter : filters) {
d.addServlet(jspServlet); d.addServlet(s); handleServletMappings(is22OrOlder, seenMappings, servletMappings, defaultServlet); d.addServlet(defaultServlet);
@Override public DeploymentInfo configuration(ServerDescriptor descriptor) { try { App app = descriptor.getApp(); Set<Class<?>> handles = descriptor.getHandlesType(); String name = descriptor.getTestClassName(); Class<? extends ServletContainerInitializer> servletType = descriptor.getServletContainerInitializer(); ServletContainerInitializer servlet = servletType.newInstance(); ImmediateInstanceFactory<ServletContainerInitializer> factory = new ImmediateInstanceFactory<>(servlet); URI uri = URI.create("http://0.0.0.0:0/"); ServletContainerInitializerInfo initInfo = new ServletContainerInitializerInfo(servletType, factory, handles); DeploymentInfo deploymentInfo = Servlets.deployment() .addServletContainerInitalizer(initInfo) .setClassLoader(descriptor.getTestClass().getClassLoader()) .setHostName(uri.getHost()) .setContextPath(uri.getPath()) .setDeploymentName(name) .addServlet(Servlets.servlet(name, DefaultServlet.class)); return deploymentInfo; } catch (Exception e) { throw new IllegalStateException(e); } }
@Override public WebDeploymentController addWebDeployment(final WebDeploymentBuilder webDeploymentBuilder) throws Exception { DeploymentInfo d = new DeploymentInfo(); d.setDeploymentName(webDeploymentBuilder.getContextRoot()); d.setContextPath(webDeploymentBuilder.getContextRoot()); d.setClassLoader(webDeploymentBuilder.getClassLoader()); d.setResourceManager(new PathResourceManager(webDeploymentBuilder.getDocumentRoot().toPath().toAbsolutePath(), 1024 * 1024)); d.setIgnoreFlush(false); for (ServletBuilder servlet : webDeploymentBuilder.getServlets()) { ServletInfo s; if (servlet.getServlet() == null) { s = new ServletInfo(servlet.getServletName(), (Class<? extends Servlet>) servlet.getServletClass()); } else { s = new ServletInfo(servlet.getServletName(), (Class<? extends Servlet>) servlet.getServletClass(), new ImmediateInstanceFactory<>(servlet.getServlet())); } if (servlet.isForceInit()) { s.setLoadOnStartup(1); } s.addMappings(servlet.getUrlMappings()); for (Map.Entry<String, String> param : servlet.getInitParams().entrySet()) { s.addInitParam(param.getKey(), param.getValue()); } d.addServlet(s); } if (controlPoint != null) { d.addOuterHandlerChainWrapper(GlobalRequestControllerHandler.wrapper(controlPoint, webDeploymentBuilder.getAllowRequestPredicates())); } return new WebDeploymentControllerImpl(d); }
.addServlet( resteasyServlet );
deployment.setDeploymentName("spring-boot"); if (isRegisterDefaultServlet()) { deployment.addServlet(Servlets.servlet("default", DefaultServlet.class));
public DeploymentInfo addServlets(final ServletInfo... servlets) { for (final ServletInfo servlet : servlets) { addServlet(servlet); } return this; }
public DeploymentInfo addServlets(final Collection<ServletInfo> servlets) { for (final ServletInfo servlet : servlets) { addServlet(servlet); } return this; }
@Override public ServletContextBuilder addServlet(final ServletInfo servletInfo) { if (servletInfo.getMultipartConfig() == null) servletInfo.setMultipartConfig(defaultMultipartConfig); super.addServlet(servletInfo); if (servletInfo.getMappings() != null) endPoints.addAll(servletInfo.getMappings()); return this; }
@Override public DeploymentInfo getDeploymentInfo( String contextRoot, Application application ) { if ( !config.isMetricsEnabled() ) { return null; } final ServletInfo servlet = Servlets.servlet( "healthcheck", HealthCheckServlet.class ).addMapping( "/healthcheck" ); final DeploymentInfo di = new DeploymentInfo().addListener( Servlets.listener( IndyHealthCheckServletContextListener.class ) ) .setContextPath( contextRoot ) .addServlet( servlet ) .setDeploymentName( "HealthCheck Deployment" ) .setClassLoader( ClassLoader.getSystemClassLoader() ); logger.info( "Returning deployment info for health check" ); return di; } }
@Override public ServletRegistration.Dynamic addServlet(final String servletName, final Servlet servlet) { ensureNotProgramaticListener(); ensureNotInitialized(); ensureServletNameNotNull(servletName); if (deploymentInfo.getServlets().containsKey(servletName)) { return null; } ServletInfo s = new ServletInfo(servletName, servlet.getClass(), new ImmediateInstanceFactory<>(servlet)); readServletAnnotations(s); deploymentInfo.addServlet(s); ServletHandler handler = deployment.getServlets().addServlet(s); return new ServletRegistrationImpl(s, handler.getManagedServlet(), deployment); }
private Undertow configureUndertow(MockitoSpringWebApplicationContext context, URL url) throws ServletException { // https://github.com/yarosla/spring-undertow/blob/master/src/main/java/ys/undertow/UndertowMain.java DeploymentInfo servletBuilder = Servlets.deployment() .setClassLoader(Undertow.class.getClassLoader()) .setContextPath(url.getPath()) .setDeploymentName("mock") .addServlet(createDispatcherServlet(context)) .addListener(createContextLoaderListener(context)); DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder); manager.deploy(); PathHandler path = Handlers.path(Handlers.redirect("/")) .addPrefixPath(CONTEXT_PATH, manager.start()); return Undertow.builder() .addHttpListener(url.getPort(), url.getHost()) .setHandler(path) .build(); }
@Override public DeploymentInfo getDeploymentInfo( String contextRoot, Application application ) { final ServletInfo servletInfo = Servlets.servlet( "DotMaven", DotMavenServlet.class ) .setAsyncSupported( true ) .setLoadOnStartup( 3 ) .addMapping( "/mavdav*" ) .addMapping( "/mavdav/*" ); servletInfo.setInstanceFactory( new ImmediateInstanceFactory<Servlet>( servlet ) ); return new DeploymentInfo().addServlet( servletInfo ); } }
@Override public DeploymentInfo getDeploymentInfo() { final ServletInfo servletInfo = Servlets.servlet( "DotMaven", DotMavenServlet.class ) .setAsyncSupported( true ) .setLoadOnStartup( 3 ) .addMapping( "/mavdav*" ) .addMapping( "/mavdav/*" ); servletInfo.setInstanceFactory( new ImmediateInstanceFactory<Servlet>( servlet ) ); return new DeploymentInfo().addServlet( servletInfo ); } }
private ServletContext buildServletContext(String contextName) throws ServletException { ServletContainer servletContainer = new ServletContainerImpl(); DeploymentInfo deploymentInfo = new DeploymentInfo(); deploymentInfo.setClassLoader(Thread.currentThread().getContextClassLoader()); deploymentInfo.setDeploymentName("cxf-undertow"); deploymentInfo.setContextPath(contextName); ServletInfo asyncServlet = new ServletInfo(ServletPathMatches.DEFAULT_SERVLET_NAME, CxfUndertowServlet.class); deploymentInfo.addServlet(asyncServlet); servletContainer.addDeployment(deploymentInfo); DeploymentManager deploymentManager = servletContainer.getDeployment(deploymentInfo.getDeploymentName()); deploymentManager.deploy(); deploymentManager.start(); return deploymentManager.getDeployment().getServletContext(); }
@Override @SuppressWarnings("unchecked") public void deployServlet(final String contextPath, final String deploymentName, final List<ServletDescriptor> servletDescriptors) throws SilverWareException { final DeploymentInfo servletBuilder = Servlets .deployment() .setClassLoader(this.getClass().getClassLoader()) .setContextPath(contextPath) .setDeploymentName(deploymentName); if (servletDescriptors != null) { servletDescriptors.forEach(servletDescriptor -> { final ServletInfo servletInfo = Servlets .servlet(servletDescriptor.getName(), (Class<Servlet>) servletDescriptor.getServletClass()); servletInfo.addMapping(servletDescriptor.getMapping()); servletDescriptor .getProperties() .forEach((key, value) -> servletInfo.addInitParam((String) key, (String) value)); servletBuilder.addServlet(servletInfo); }); } this.server.deploy(servletBuilder); }
private ServletContext buildServletContext(String contextName) throws ServletException { ServletContainer servletContainer = new ServletContainerImpl(); DeploymentInfo deploymentInfo = new DeploymentInfo(); deploymentInfo.setClassLoader(Thread.currentThread().getContextClassLoader()); deploymentInfo.setDeploymentName("cxf-undertow"); deploymentInfo.setContextPath(contextName); ServletInfo asyncServlet = new ServletInfo(ServletPathMatches.DEFAULT_SERVLET_NAME, CxfUndertowServlet.class); deploymentInfo.addServlet(asyncServlet); servletContainer.addDeployment(deploymentInfo); DeploymentManager deploymentManager = servletContainer.getDeployment(deploymentInfo.getDeploymentName()); deploymentManager.deploy(); deploymentManager.start(); return deploymentManager.getDeployment().getServletContext(); }
@Override public ServletRegistration.Dynamic addServlet(final String servletName, final Class<? extends Servlet> servletClass){ ensureNotProgramaticListener(); ensureNotInitialized(); ensureServletNameNotNull(servletName); if (deploymentInfo.getServlets().containsKey(servletName)) { return null; } try { ServletInfo servlet = new ServletInfo(servletName, servletClass, deploymentInfo.getClassIntrospecter().createInstanceFactory(servletClass)); readServletAnnotations(servlet); deploymentInfo.addServlet(servlet); ServletHandler handler = deployment.getServlets().addServlet(servlet); return new ServletRegistrationImpl(servlet, handler.getManagedServlet(), deployment); } catch (NoSuchMethodException e) { throw UndertowServletMessages.MESSAGES.couldNotCreateFactory(servletClass.getName(),e); } }
public ServletRegistration.Dynamic addServlet(final String servletName, final String className, List<HandlerWrapper> wrappers) { ensureNotProgramaticListener(); ensureNotInitialized(); ensureServletNameNotNull(servletName); try { if (deploymentInfo.getServlets().containsKey(servletName)) { return null; } Class<? extends Servlet> servletClass=(Class<? extends Servlet>) deploymentInfo.getClassLoader().loadClass(className); ServletInfo servlet = new ServletInfo(servletName, servletClass, deploymentInfo.getClassIntrospecter().createInstanceFactory(servletClass)); for(HandlerWrapper i : wrappers) { servlet.addHandlerChainWrapper(i); } readServletAnnotations(servlet); deploymentInfo.addServlet(servlet); ServletHandler handler = deployment.getServlets().addServlet(servlet); return new ServletRegistrationImpl(servlet, handler.getManagedServlet(), deployment); } catch (ClassNotFoundException e) { throw UndertowServletMessages.MESSAGES.cannotLoadClass(className, e); } catch (NoSuchMethodException e) { throw UndertowServletMessages.MESSAGES.couldNotCreateFactory(className,e); } }