SpringBoot 1.X,2.X解决使用 Jetty 容器启动项目

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

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

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

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

    
        org.springframework.boot
        spring-boot-starter-web
    

要配置为jetty要去掉默认tomcat配置

    
        org.springframework.boot
        spring-boot-starter-web
          
              
                org.springframework.boot  
                spring-boot-starter-tomcat  
              
         
    

并且加上jetty启动

    
        org.springframework.boot
        spring-boot-starter-jetty
    

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

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

2、注入Bean

@Configuration
public class JettyConfiguration {
    @Bean
  public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory() {
        return new JettyEmbeddedServletContainerFactory();
  }
}

SpringBoot 2.X 版本则只需要在 application.yml配置
SpringBoot 1.X,2.X解决使用 Jetty 容器启动项目_第1张图片
日志信息(由此可见Jetty 是以线程组的方式将每个线程放入线程组)
SpringBoot 1.X,2.X解决使用 Jetty 容器启动项目_第2张图片
博主微信:a-zhxg
(请各位大佬给出意见或者指点一二)

你可能感兴趣的:(Java,springboot,java,后端,spring,boot)