• 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

  • 相关阅读:
    iOS Mapkit 定位REGcode地理位置偏移
    制作mac U盘启动
    mac git xcrun error active developer path 错误
    xcode 修改 organization name 和 company identifier
    PHP 修改配置文件后重启命名
    使用 PHP 构建的 Web 应用如何避免 XSS 攻击
    PHP 可变变量
    使用 PHP 构建的 Web 应用如何避免 XSS 攻击
    git 放弃本地修改,强制拉取更新
    PHP smarty模版引擎基本安装
  • 原文地址:https://www.cnblogs.com/chenpi/p/9696319.html
Copyright © 2020-2023  润新知