SpringBoot 2.0.0新版和SpringBoot1.5.2版本中Tomcat配置的差别(坑)
2018-03-16 21:27
741 查看
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 * */ @Configuration public 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=4 spring.server.minSpareThreads=50 spring.server.maxSpareThreads=50 spring.server.maxThreads=1000 spring.server.maxConnections=10000 #10秒超时 spring.server.connectionTimeout=10000 spring.server.protocol=org.apache.coyote.http11.Http11Nio2Protocol spring.server.redirectPort=443 spring.server.compression=on #文件请求大小 spring.server.MaxFileSize=300MB spring.server.MaxRequestSize=500MB
10、好了,搞定了
相关文章推荐
- SpringBoot1.5.2安装配置--1.5.2版本问题
- @maohoo Spring boot 配置Tomcat 根目录,解决web资源目录找不到的问题
- Spring Boot入门——tomcat配置
- 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化
- spring-boot+nginx+tomcat+ssl配置笔记
- springboot tomcat的配置选项大全
- spring boot内嵌tomcat配置端口更改
- spring boot内嵌tomcat配置端口更改
- spring-boot 创建项目并配置远程部署到tomcat
- springboot项目 打成war包 使用自定义tomcat配置
- spring boot内嵌tomcat配置端口更改
- spring boot内嵌tomcat配置端口更改
- Springboot属性文件application.properties配置大全,版本:1.5.4
- spring-boot 整合mybatis 配置 可以发布到tomcat中运行
- spring boot内嵌tomcat配置端口更改
- spring boot 图片上传后的图片读取路径在win与linux环境配置的差别
- spring boot内嵌tomcat配置端口更改
- Linux环境下Spring Boot项目内置Tomcat参数配置
- spring boot 1.5.2自动配置kafka
- 知识点①:springboot使用外部 tomcat 运行配置