SpringCloud-7-Spring Boot使用Jetty容器

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 SpringCloud-7-Spring Boot使用Jetty容器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

4.8 Spring Boot使用Jetty容器

  • 使用Jetty去替代Tomcat?对于Tomcat和Jetty,Spring Boot分别提供了对应的starter,以便尽可能的简化我们的开发过程
  • 在pom.xml文件中添加spring-boot-starter-jetty依赖,同时要排除spring-boot-starter-web默认的spring-boot-starter-tomcat依赖
<dependencies>
	<!--Spring Boot Web-->
    <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>
</dependencies>
  • 若是Gradle使用构建工程的话,可以使用如下设置:
configurations {
    compile.exclude module: "spring-boot-starter-tomcat"
}
 
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:2.0.0.BUILD-SNAPSHOT")
    compile("org.springframework.boot:spring-boot-starter-jetty:2.0.0.BUILD-SNAPSHOT")
}
  • 配置Jetty参数:在application.yml配置文件里配置相关参数,去覆盖Jetty默认使用的运行参数
server:
  port: 80
  servlet:
    context-path: /app
#Jetty specific properties
  jetty:
    threads:
      acceptors: -1                   #Number of acceptor threads to use. When the value is -1, the default, the number of acceptors is derived from the operating environment.
      selectors: -1                   #Number of selector threads to use. When the value is -1, the default, thenumber of selectors is derived from the operating environment.
    max-http-form-post-size: 200000   #Maximum size of the form content in any HTTP post request.
  • 测试沿用上述服务消费者启动jetty容器
    在这里插入图片描述
  • 然后访问http://127.0.0.1/app/consumer/dept/get/1,jetty成功启动
    在这里插入图片描述
  • SpringBoot版本RELEASE GA,SNAPSHOT,PRE区别

RELEASE GA:General Availability,正式发布的版本,官方推荐使用此版本。

SNAPSHOT: 快照版,可以稳定使用,且仍在继续改进版本。

PRE: 预览版,内部测试版. 主要是给开发人员和测试人员测试和找BUG用的,不建议使用。

  • 在Spring boot 2.0.0版以前可以注册JettyEmbeddedServletContainerFactory bean来配置这些参数
@Bean
public JettyEmbeddedServletContainerFactory  jettyEmbeddedServletContainerFactory() {
    JettyEmbeddedServletContainerFactory jettyContainer = new JettyEmbeddedServletContainerFactory();
    jettyContainer.setPort(80);
    jettyContainer.setContextPath("/app");
    return jettyContainer;
}
  • 在Spring boot 2.0.0.RELEASE版本之后,应使用 ConfigurableServletWebServerFactoryJettyServletWebServerFactory类去配置Jetty参数:
@Bean
public ConfigurableServletWebServerFactory  configurableServletWebServerFactory(){
	//JettyServletWebServerFactory是ConfigurableServletWebServerFactory的实现类
    JettyServletWebServerFactory factory = new JettyServletWebServerFactory(); 
    factory.setPort(80);
    factory.setContextPath("/app");
    factory.setAcceptors(-1);
    factory.setSelectors(-1);
    factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
    return factory;
}

下一篇:SpringCloud-8-Eureka:服务注册与发现组件介绍

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123821.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!