4.8 Spring Boot使用Jetty容器
- 使用Jetty去替代Tomcat?对于Tomcat和Jetty,Spring Boot分别提供了对应的starter,以便尽可能的简化我们的开发过程
- 在pom.xml文件中添加spring-boot-starter-jetty依赖,同时要排除
spring-boot-starter-web
默认的spring-boot-starter-tomcat
依赖
<dependencies>
<!--Spring Boot 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>
<!--jetty-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
- 若是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.yml配置文件里配置相关参数,去覆盖Jetty默认使用的运行参数
server:
port: 80
servlet:
context-path: /app
#Jetty specific properties
jetty:
threads:
acceptors: -1 #Number of acceptor threads to use. When the value is -1, the default, the number of acceptors is derived from the operating environment.
selectors: -1 #Number of selector threads to use. When the value is -1, the default, thenumber of selectors is derived from the operating environment.
max-http-form-post-size: 200000 #Maximum size of the form content in any HTTP post request.
- 测试沿用上述服务消费者启动jetty容器
- 然后访问http://127.0.0.1/app/consumer/dept/get/1,jetty成功启动
- SpringBoot版本RELEASE GA,SNAPSHOT,PRE区别
RELEASE GA:General Availability,正式发布的版本,官方推荐使用此版本。
SNAPSHOT: 快照版,可以稳定使用,且仍在继续改进版本。
PRE: 预览版,内部测试版. 主要是给开发人员和测试人员测试和找BUG用的,不建议使用。
- 在Spring boot 2.0.0版以前可以注册
JettyEmbeddedServletContainerFactory
bean来配置这些参数
@Bean
public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory() {
JettyEmbeddedServletContainerFactory jettyContainer = new JettyEmbeddedServletContainerFactory();
jettyContainer.setPort(80);
jettyContainer.setContextPath("/app");
return jettyContainer;
}
- 在Spring boot 2.0.0.RELEASE版本之后,应使用
ConfigurableServletWebServerFactory
和JettyServletWebServerFactory
类去配置Jetty参数:
@Bean
public ConfigurableServletWebServerFactory configurableServletWebServerFactory(){
//JettyServletWebServerFactory是ConfigurableServletWebServerFactory的实现类
JettyServletWebServerFactory factory = new JettyServletWebServerFactory();
factory.setPort(80);
factory.setContextPath("/app");
factory.setAcceptors(-1);
factory.setSelectors(-1);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
return factory;
}
下一篇:SpringCloud-8-Eureka:服务注册与发现组件介绍
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123821.html