springboot 中还在使用Tomat ? 是时候了解下 Undertow 了。
官网:http://undertow.io/index.html
1、什么是Undertow
Undertow is sponsored by JBoss and is the default web server in the Wildfly Application Server.
Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO.
2、如何在spring Boot中使用
项目中排除 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>
增加Undertow 的依赖
<!--替换内置默认容器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency>
启动项目,可以看到启动日志:
Undertow started on port(s) 8080 (http) with context path ''
访问健康检查接口,服务正常在线
3、为什么要使用该容器呢?
- 轻量级:一共引入三个Jar 不足5M
- WebSocket 支持 :对 Web Socket 完全支持,用以满足 Web 应用巨大数量的客户端
- 嵌套性:它不需要容器,只需通过 API 即可快速搭建 Web 服务器