当前位置:   article > 正文

SpringBoot 1.X,2.X解决使用 Jetty 容器启动项目_springboot 如何不使用 jetty

springboot 如何不使用 jetty

SpringBoot 2.X 使用jetty服务器启动

  • 因目前正在负责一个社交产品得项目、需要支持大量的长链接正好博主又 在何处似曾听闻过 jetty采用NIO模型的web容器,因此弃用tomcat部署项目。

好处:
1、Jetty适合长连接应用,就是聊天类的长连接
2、Jetty更轻量级,这是相对Tomcat而言的。
Jetty 官方文档

这是SpringBoot的启动web服务器,但默认是Tomcat

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  • 1
  • 2
  • 3
  • 4

要配置为jetty要去掉默认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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

并且加上jetty启动

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
  • 1
  • 2
  • 3
  • 4

注意 - Springboot 1.X版本需要注入bean 否则会加载不到Jetty Bean
这里有两种方法解决:
1、手动降低Jetty版本

 <jetty.version>9.2.4.v20141103</jetty.version>
  • 1

2、注入Bean

@Configuration
public class JettyConfiguration {
    @Bean
  public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory() {
        return new JettyEmbeddedServletContainerFactory();
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

SpringBoot 2.X 版本则只需要在 application.yml配置
在这里插入图片描述
日志信息(由此可见Jetty 是以线程组的方式将每个线程放入线程组)
在这里插入图片描述
博主微信:a-zhxg
(请各位大佬给出意见或者指点一二)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/518281
推荐阅读
相关标签
  

闽ICP备14008679号