Spring-boot 配置Jetty 容器

默认状况,Spring boot使用 tomcat容器。有时,可能会须要用到jetty容器来替代tomcat。Spring Boot经过提供Jetty starter使得配置Jetty容器变得十分简单。java

添加spring-boot-starter-jetty依赖

若是使用maven则添加配置。web

<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那么添加以下配置。spring

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的默认配置。tomcat

server.port=8080
server.servlet.context-path=/home

####Jetty specific properties########

server.jetty.acceptors= # acceptor线程数
server.jetty.max-http-post-size=0 # put或post方法最大字节数
server.jetty.selectors= # selector线程数

此外能够经过代码利用JettyEmbeddedServletContainerFactory类来进行配置。ruby

@Bean
public JettyEmbeddedServletContainerFactory  jettyEmbeddedServletContainerFactory() {
    JettyEmbeddedServletContainerFactory jettyContainer = 
        new JettyEmbeddedServletContainerFactory();

    jettyContainer.setPort(9000);
    jettyContainer.setContextPath("/home");
    return jettyContainer;
}