说明
作为springboot开发者,使用最多的就是tomcat,这是springboot默认的容器技术,而且是内嵌式的tomcat,springboot作为目前最火的java web框架,可以说容器也起到了绝对的优势。
对于一个应用,我们也只需要将应用打包成一个jar包,以java -jar直接运行,而无需再打成war包的形式外搭tomcat服务器的方式运行应用。但是也会考虑使用undertow容器去替代tomcat。
undertow概述
undertow作为springboot默认集成的三大容器之一(tomcat、jetty、undertow);
首先它是red hat公司旗下的开源产品, 由java语言开发,是一款灵活的高性能web服务器;
不仅支持阻塞io还支持非阻塞io。由于undertow通过java语言开发,即在java项目中使用可直接嵌入。
而且,undertow完全支持servlet和web socket,在高并发情况下表现非常出色,总之,undertow在性能和内存使用方面都优于jetty、tomcat。
所以这就是为何业界内很多springboot开发者放弃tomcat,选择undertow。
springboot集成undertow
由于springboot优先默认内嵌的是tomcat,所以当你在引入undertow容器时,你就需要先排除掉tomcat,也就是它 spring-boot-starter-tomcat,
因此你需要找到spring-boot-starter-web这个starter,把tomcat去掉,然后再引入undertow的依赖,然后直接启动项目即可。
<!--web依赖--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <!--排除spring-boot-starter-tomcat--> <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>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论