博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot 2.0.0新版和SpringBoot1.5.2版本中Tomcat配置的差别(坑)
阅读量:5866 次
发布时间:2019-06-19

本文共 4566 字,大约阅读时间需要 15 分钟。

2018年春SpringBoot 2.0.0 新版本有了很多新的改变,其中Tomcat配置上也有了很大改变

1、之前老的版本TomcatEmbeddedServletContainerFactory取的是这个类

这里写图片描述

2、在SpringBoot 2.0.0框架中,已经没有类TomcatEmbeddedServletContainerFactory了

这里写图片描述

3、在老版本的Tomcat配置中,构造tomcatFactory的bean

@Bean    public TomcatEmbeddedServletContainerFactory tomcatFactory() {        TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory();        tomcatFactory.addConnectorCustomizers(new GwsTomcatConnectionCustomizer());        return tomcatFactory;    }

4、那么早SpringBoot 2.0.0中该怎么构建呢?

去到SpringBoot官方文档、找到Tomcat配置
这里写图片描述
5、最新的已经有了全新的类了
这里写图片描述

6、事例

这里写图片描述

7、那么就可以用全新的ServletWebServerFactory类来构造Tomcat的配置了

@Bean    public ServletWebServerFactory servletContainer() {        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();        tomcat.addConnectorCustomizers(new GwsTomcatConnectionCustomizer());        return tomcat;    }

8、最后附上全新的Tomcat配置

package com.gws.configuration;import org.apache.catalina.connector.Connector;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.boot.web.servlet.server.ServletWebServerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.servlet.MultipartConfigElement;/** * 使用tomcat配置 * * @version  * @author  *  */@Configurationpublic class TomcatConfig {
@Value("${spring.server.port}") private String port; @Value("${spring.server.acceptorThreadCount}") private String acceptorThreadCount; @Value("${spring.server.minSpareThreads}") private String minSpareThreads; @Value("${spring.server.maxSpareThreads}") private String maxSpareThreads; @Value("${spring.server.maxThreads}") private String maxThreads; @Value("${spring.server.maxConnections}") private String maxConnections; @Value("${spring.server.protocol}") private String protocol; @Value("${spring.server.redirectPort}") private String redirectPort; @Value("${spring.server.compression}") private String compression; @Value("${spring.server.connectionTimeout}") private String connectionTimeout; @Value("${spring.server.MaxFileSize}") private String MaxFileSize; @Value("${spring.server.MaxRequestSize}") private String MaxRequestSize; @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers(new GwsTomcatConnectionCustomizer()); return tomcat; } @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); // 单个数据大小 factory.setMaxFileSize(MaxFileSize); // KB,MB /// 总上传数据大小 factory.setMaxRequestSize(MaxRequestSize); return factory.createMultipartConfig(); } /** * * 默认http连接 * * @version * @author liuyi 2016年7月20日 下午7:59:41 * */ public class GwsTomcatConnectionCustomizer implements TomcatConnectorCustomizer {
public GwsTomcatConnectionCustomizer() { } @Override public void customize(Connector connector) { connector.setPort(Integer.valueOf(port)); connector.setAttribute("connectionTimeout", connectionTimeout); connector.setAttribute("acceptorThreadCount", acceptorThreadCount); connector.setAttribute("minSpareThreads", minSpareThreads); connector.setAttribute("maxSpareThreads", maxSpareThreads); connector.setAttribute("maxThreads", maxThreads); connector.setAttribute("maxConnections", maxConnections); connector.setAttribute("protocol", protocol); connector.setAttribute("redirectPort", "redirectPort"); connector.setAttribute("compression", "compression"); } }}

9、最后在application.properties,进行配置

#嵌入tomcat配置spring.server.port=8095#和CPU数spring.server.acceptorThreadCount=4spring.server.minSpareThreads=50spring.server.maxSpareThreads=50spring.server.maxThreads=1000spring.server.maxConnections=10000#10秒超时spring.server.connectionTimeout=10000spring.server.protocol=org.apache.coyote.http11.Http11Nio2Protocolspring.server.redirectPort=443spring.server.compression=on#文件请求大小spring.server.MaxFileSize=300MBspring.server.MaxRequestSize=500MB

10、好了,搞定了

你可能感兴趣的文章
【redis常用的键值操作及性能优化】
查看>>
mysql日期
查看>>
crmv2项目
查看>>
[Asp.net MVC]HandleErrorAttribute异常过滤器
查看>>
mvc
查看>>
Linux - 常见端口和服务的对照和解释
查看>>
数据库(MySQL)
查看>>
HDOJ_ACM_连连看
查看>>
力扣算法题—037解数独
查看>>
hadoop更换硬盘
查看>>
【快速排序】
查看>>
图文介绍如何在Eclipse统计代码行数
查看>>
Elementary Methods in Number Theory Exercise 1.4.30
查看>>
使用Asymptote的循环功能画出绿叶阵
查看>>
Local minimum and local maximum,second derivative
查看>>
flask的上下文管理
查看>>
msf、armitage
查看>>
ubuntu14.04 配置realvnc
查看>>
VS2010帮助文档所有安装出错的解决办法
查看>>
跟我一起学习ASP.NET 4.5 MVC4.0(五)(转)
查看>>