SpringBoot 1.X,2.X解决使用 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>

要配置为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>

并且加上jetty启动

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>

注意 - 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配置
在这里插入图片描述
日志信息(由此可见Jetty 是以线程组的方式将每个线程放入线程组)
在这里插入图片描述
博主微信:a-zhxg
(请各位大佬给出意见或者指点一二)

猜你喜欢

转载自blog.csdn.net/weixin_43254936/article/details/105785972
今日推荐