zoukankan      html  css  js  c++  java
  • Spring Boot – Jetty配置

    前言

    默认情况下,Spring Boot会使用内置的tomcat容器去运行应用程序,但偶尔我们也会考虑使用Jetty去替代Tomcat;
    对于Tomcat和Jetty,Spring Boot分别提供了对应的starter,以便尽可能的简化我们的开发过程;
    当我们想使用Jetty的时候,可以参考以下步骤来使用。

    添加spring-boot-starter-jetty依赖

    我们需要更新pom.xml文件,添加spring-boot-starter-jetty依赖,同时我们需要排除spring-boot-starter-web默认的spring-boot-starter-tomcat依赖,如下所示:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
    

    如果我们的工程是使用Gradle构建的话,可以使用以下方式达到同样的效果:

    configurations {
        compile.exclude module: "spring-boot-starter-tomcat"
    }
     
    dependencies {
        compile("org.springframework.boot:spring-boot-starter-web:2.0.0.BUILD-SNAPSHOT")
        compile("org.springframework.boot:spring-boot-starter-jetty:2.0.0.BUILD-SNAPSHOT")
    }
    

    配置Jetty参数

    我们可以在application.properties配置文件里配置相关参数,去覆盖Jetty默认使用的运行参数:
    application.properties

    server.port=8080
    server.servlet.context-path=/home
     
    ####Jetty specific properties########
     
    server.jetty.acceptors= # Number of acceptor threads to use.
    server.jetty.max-http-post-size=0 # Maximum size in bytes of the HTTP post or put content.
    server.jetty.selectors= # Number of selector threads to use.
    

    同样,我们可以通过JettyEmbeddedServletContainerFactory bean以编程的方式去配置这些参数

    @Bean
    public JettyEmbeddedServletContainerFactory  jettyEmbeddedServletContainerFactory() {
        JettyEmbeddedServletContainerFactory jettyContainer =
            new JettyEmbeddedServletContainerFactory();
          
        jettyContainer.setPort(9000);
        jettyContainer.setContextPath("/home");
        return jettyContainer;
    }
    

    Spring boot 2.0.0.RELEASE版本之后的更新

    以上代码针对的是Spring Boot Snapshot版本,在Spring boot 2.0.0.RELEASE版本之后,我们应该使用 ConfigurableServletWebServerFactoryJettyServletWebServerFactory类去配置Jetty参数:
    创建ConfigurableServletWebServerFactory Bean

    @Bean
    public ConfigurableServletWebServerFactory webServerFactory()
    {
        JettyServletWebServerFactory factory = new JettyServletWebServerFactory();
        factory.setPort(9000);
        factory.setContextPath("/myapp");
        factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html"));
        return factory;
    }
    

    原文文链

    Site4J

  • 相关阅读:
    Java中怎么控制线程訪问资源的数量
    我的Hook学习笔记
    《编写可读代码的艺术》——简单总结
    Hdu 1016 Prime Ring Problem (素数环经典dfs)
    setsockopt()使用方法(參数具体说明)
    Html5培训之精髓
    [unity3d]unity平台的预处理
    音频编辑大师 3.3 注冊名 注冊码
    linux tar.gz zip 解压缩 压缩命令
    面向对象的三个基本特征
  • 原文地址:https://www.cnblogs.com/chenpi/p/9696319.html
Copyright © 2011-2022 走看看