类org.springframework.boot.web.server.WebServer源码实例Demo

下面列出了怎么用org.springframework.boot.web.server.WebServer的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Reactive container (temporarily replaced by servlets)
 * @param httpHandler httpHandler
 * @return NettyTcpServer
 */
@Override
public WebServer getWebServer(HttpHandler httpHandler) {
    try {
        ServletContext servletContext = getServletContext();
        if(servletContext != null) {
            ServletRegistration.Dynamic servletRegistration = servletContext.addServlet("default", new ServletHttpHandlerAdapter(httpHandler));
            servletRegistration.setAsyncSupported(true);
            servletRegistration.addMapping("/");
        }

        //Server port
        InetSocketAddress serverAddress = getServerSocketAddress(getAddress(),getPort());
        return new NettyTcpServer(serverAddress, properties, protocolHandlers,serverListeners,channelHandlerSupplier);
    }catch (Exception e){
        throw new IllegalStateException(e.getMessage(),e);
    }
}
 
源代码2 项目: tutorials   文件: FunctionalWebApplication.java
WebServer start() throws Exception {
    WebHandler webHandler = (WebHandler) toHttpHandler(routingFunction());
    HttpHandler httpHandler = WebHttpHandlerBuilder.webHandler(webHandler)
        .filter(new IndexRewriteFilter())
        .build();

    Tomcat tomcat = new Tomcat();
    tomcat.setHostname("localhost");
    tomcat.setPort(9090);
    Context rootContext = tomcat.addContext("", System.getProperty("java.io.tmpdir"));
    ServletHttpHandlerAdapter servlet = new ServletHttpHandlerAdapter(httpHandler);
    Wrapper servletWrapper = Tomcat.addServlet(rootContext, "httpHandlerServlet", servlet);
    servletWrapper.setAsyncSupported(true);
    rootContext.addServletMappingDecoded("/", "httpHandlerServlet");

    TomcatWebServer server = new TomcatWebServer(tomcat);
    server.start();
    return server;

}
 
源代码3 项目: tutorials   文件: FunctionalWebApplication.java
WebServer start() throws Exception {
    WebHandler webHandler = (WebHandler) toHttpHandler(routingFunction());
    HttpHandler httpHandler = WebHttpHandlerBuilder.webHandler(webHandler)
        .filter(new IndexRewriteFilter())
        .build();

    Tomcat tomcat = new Tomcat();
    tomcat.setHostname("localhost");
    tomcat.setPort(9090);
    Context rootContext = tomcat.addContext("", System.getProperty("java.io.tmpdir"));
    ServletHttpHandlerAdapter servlet = new ServletHttpHandlerAdapter(httpHandler);
    Tomcat.addServlet(rootContext, "httpHandlerServlet", servlet);
    rootContext.addServletMappingDecoded("/", "httpHandlerServlet");

    TomcatWebServer server = new TomcatWebServer(tomcat);
    server.start();
    return server;

}
 
WebServer start() throws Exception {
    WebHandler webHandler = (WebHandler) toHttpHandler(routingFunction());
    HttpHandler httpHandler = WebHttpHandlerBuilder.webHandler(webHandler)
        .filter(new IndexRewriteFilter())
        .build();

    Tomcat tomcat = new Tomcat();
    tomcat.setHostname("localhost");
    tomcat.setPort(9090);
    Context rootContext = tomcat.addContext("", System.getProperty("java.io.tmpdir"));
    ServletHttpHandlerAdapter servlet = new ServletHttpHandlerAdapter(httpHandler);
    Wrapper servletWrapper = Tomcat.addServlet(rootContext, "httpHandlerServlet", servlet);
    servletWrapper.setAsyncSupported(true);
    rootContext.addServletMappingDecoded("/", "httpHandlerServlet");

    TomcatWebServer server = new TomcatWebServer(tomcat);
    server.start();
    return server;

}
 
源代码5 项目: Moss   文件: DiscoveryClientRegistrationInvoker.java
@Override
public void customize(ConfigurableApplicationContext context) {
    if(context instanceof ServletWebServerApplicationContext
            && !AdminEndpointApplicationRunListener.isEmbeddedServletServer(context.getEnvironment())) {
        MetaDataProvider metaDataProvider = context.getBean(MetaDataProvider.class);
        WebServer webServer = new WebServer() {
            @Override
            public void start() throws WebServerException {

            }

            @Override
            public void stop() throws WebServerException {

            }

            @Override
            public int getPort() {
                return metaDataProvider.getServerPort();
            }
        };
        context.publishEvent(
                new ServletWebServerInitializedEvent(
                        webServer,
                        new ServletWebServerApplicationContext())
        );
    }
}
 
@Override
public WebServer getWebServer(HttpHandler httpHandler) {
    HttpServerOptions httpServerOptions = customizeHttpServerOptions(properties.getHttpServerOptions());
    VertxHttpHandlerAdapter handler = new VertxHttpHandlerAdapter(httpHandler);

    return new VertxWebServer(vertx, httpServerOptions, handler);
}
 
@Test
public void shouldCustomizeHttpServerOptions() {
    webServerFactory.registerHttpServerOptionsCustomizer(mockCustomizer);
    WebServer webServer = webServerFactory.getWebServer(null);
    assertThat(webServer).isNotNull();
    verify(mockCustomizer).apply(mockHttpServerOptions);
}
 
@Override
public WebServer getWebServer(ServletContextInitializer... initializers) {
    if (embeddedServerService == null) {
        return super.getWebServer(initializers);
    } else if (embeddedServerService.getEmbedServer() == null) {
        embeddedServerService.setEmbedServer(initEmbedTomcat());
    }
    Tomcat embedTomcat = embeddedServerService.getEmbedServer();
    prepareContext(embedTomcat.getHost(), initializers);
    return getWebServer(embedTomcat);
}
 
/**
 * Get servlet container
 * @param initializers Initialize the
 * @return NettyTcpServer
 */
@Override
public WebServer getWebServer(ServletContextInitializer... initializers) {
    ServletContext servletContext = Objects.requireNonNull(getServletContext());
    try {
        //The default servlet
        if (super.isRegisterDefaultServlet()) {
            servletContext.addServlet("default",new ServletDefaultHttpServlet())
                    .addMapping("/");
        }

        //JSP is not supported
        if(super.shouldRegisterJspServlet()){
            Jsp jsp = getJsp();
        }

        //Initialize the
        for (ServletContextInitializer initializer : super.mergeInitializers(initializers)) {
            initializer.onStartup(servletContext);
        }

        //Server port
        InetSocketAddress serverAddress = getServerSocketAddress(getAddress(),getPort());
        return new NettyTcpServer(serverAddress, properties, protocolHandlers,serverListeners,channelHandlerSupplier);
    }catch (Exception e){
        throw new IllegalStateException(e.getMessage(),e);
    }
}
 
@Override
public WebServer getWebServer(ServletContextInitializer... initializers) {
    this.initializers = initializers;
    for (ServletContextInitializer i : initializers) {
        try {
            if (handler.getServletContext() == null) {
                throw new WebServerException("Attempting to initialize ServletEmbeddedWebServer without ServletContext in Handler", null);
            }
            i.onStartup(handler.getServletContext());
        } catch (ServletException e) {
            throw new WebServerException("Could not initialize Servlets", e);
        }
    }
    return this;
}
 
源代码11 项目: Kafdrop   文件: ServiceDiscoveryConfiguration.java
private Integer getServicePort()
{
   return Optional.ofNullable(webContext.getWebServer())
      .map(WebServer::getPort)
      .filter(i -> i != -1)
      .orElse(null);
}
 
private static void runServer(ReactiveWebServerFactory factory,
                              HttpHandler httpHandler,
                              Consumer<WebServer> validator) {
    final WebServer server = factory.getWebServer(httpHandler);
    server.start();
    try {
        validator.accept(server);
    } finally {
        server.stop();
    }
}
 
源代码13 项目: armeria   文件: SpringTomcatApplication.java
/**
 * Bean to configure Armeria Tomcat service.
 * @return configuration bean.
 */
@Bean
public ArmeriaServerConfigurator armeriaTomcat() {
    final WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer();
    if (webServer instanceof TomcatWebServer) {
        final Tomcat tomcat = ((TomcatWebServer) webServer).getTomcat();

        return serverBuilder -> serverBuilder.service("prefix:/tomcat/api/rest/v1",
                                                      TomcatService.of(tomcat));
    }
    return serverBuilder -> { };
}
 
源代码14 项目: armeria   文件: SpringTomcatApplicationItTest.java
@Test
public void verifySingleConnector() {
    // Relevant to Tomcat 9.0
    assertThat(applicationContext).isInstanceOf(WebServerApplicationContext.class);
    final WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer();
    assertThat(webServer).isInstanceOf(TomcatWebServer.class);
    assertThat(((TomcatWebServer) webServer).getTomcat()
                                            .getEngine()
                                            .getService()
                                            .findConnectors()).hasSize(1);
}
 
@Test
public void shouldCreateWebServer() {
    WebServer webServer = webServerFactory.getWebServer(null);
    assertThat(webServer).isNotNull();
    assertThat(webServer).isInstanceOf(VertxWebServer.class);
}
 
@Override
public WebServer getWebServer(HttpHandler httpHandler) {
	return new RSocketWebServer(createRSocketStarter(httpHandler));
}
 
public NacosDiscoveryAutoDeregister(NacosDiscoveryProperties discoveryProperties,
		WebServer webServer) {
	this.discoveryProperties = discoveryProperties;
	this.webServer = webServer;
}
 
@Override
public WebServer getWebServer(ServletContextInitializer... initializers) {
	this.webServer = spy(new MockServletWebServer(mergeInitializers(initializers), getPort()));
	return this.webServer;
}
 
@Override
@SuppressFBWarnings("MTIA_SUSPECT_SERVLET_INSTANCE_FIELD")
public WebServer getWebServer(HttpHandler httpHandler) {
    handler = new ServletHttpHandlerAdapter(httpHandler);
    return this;
}
 
@Override
public WebServer getWebServer(ServletContextInitializer... initializers) {
    return new LealoneTomcatWebServer(super.getWebServer(initializers));
}
 
源代码21 项目: Lealone-Plugins   文件: LealoneTomcatWebServer.java
public LealoneTomcatWebServer(WebServer server) {
    this.server = server;
}
 
private WebClient httpsClient(WebServer server) {
    return WebClient.builder("https://example.com:" + server.getPort())
                    .factory(clientFactory)
                    .build();
}
 
private WebClient httpClient(WebServer server) {
    return WebClient.builder("http://example.com:" + server.getPort())
                    .factory(clientFactory)
                    .build();
}
 
private static void runEchoServer(ReactiveWebServerFactory factory,
                                  Consumer<WebServer> validator) {
    runServer(factory, EchoHandler.INSTANCE, validator);
}
 
private TestWebServerInitializedEvent(String name, int port) {
	super(mock(WebServer.class));
	when(server.getPort()).thenReturn(port);
	when(context.getServerNamespace()).thenReturn(name);
}
 
@Override
public WebServer getWebServer() {
	return this.server;
}
 
private TestWebServerInitializedEvent(String name, int port) {
	super(mock(WebServer.class));
	when(server.getPort()).thenReturn(port);
	when(context.getServerNamespace()).thenReturn(name);
}
 
@Override
public WebServer getWebServer() {
	return this.server;
}
 
/**
 * Factory method called to create the {@link TomcatWebServer}. Subclasses can
 * override this method to return a different {@link TomcatWebServer} or apply
 * additional processing to the Tomcat server.
 * @param tomcat the Tomcat server.
 * @return a new {@link TomcatWebServer} instance
 */
protected WebServer getWebServer(Tomcat tomcat) {
    return new ArkTomcatWebServer(tomcat, getPort() >= 0, tomcat);
}
 
 类所在包
 同包方法