首页 技术 正文
技术 2022年11月15日
0 收藏 734 点赞 4,608 浏览 4237 个字

https://blog.csdn.net/wd2014610/article/details/79587161

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;
}
1
2
3
4
5
6
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;
}
1
2
3
4
5
6
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”);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
10、好了,搞定了

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295