spring-boot打成jar包后,tomcat内置需要优化就要用下面的方式(Nio2):
@Configuration
public class TomcatConfig {
@Bean
public EmbeddedServletContainerFactory servletContainer1() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.setUriEncoding(Charset.forName("UTF-8"));
/*通过addAdditionalTomcatConnectors方法添加多个监听连接;*/
tomcat.addAdditionalTomcatConnectors(createNioConnector1());
return tomcat;
}
public Connector createNioConnector1(){
Connector connector=new Connector("org.apache.coyote.http11.Http11Nio2Protocol");
Http11Nio2Protocol protocol = (Http11Nio2Protocol) connector.getProtocolHandler();
// 设置超时时间
protocol.setConnectionTimeout(3000);
// 设置最大线程数
protocol.setMaxThreads(200);
// 设置最大连接数
protocol.setMaxConnections(1000);
// 请求方式
connector.setScheme("http");
connector.setPort(8015); //自定义的
connector.setRedirectPort(8443);
return connector;
}
}
启动jar包时:
java -jar -Xmn640m -Xms2048m -Xmx2048m -XX:SurvivorRatio=8 -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/www/logs -Xnoclassgc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/www/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2m Xxx.jar