SpringBoot优化内嵌的Tomcat
来源:互联网 发布:淘宝店铺封面大全图片 编辑:程序博客网 时间:2024/05/15 23:54
SpringBoot测试版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version></parent><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>
SpringBoot默认使用的是Tomcat作为web server
springboot中默认可以通过配置如下参数设置内嵌容器Tomcat的端口,最大线程数等等
server.port=8081
server.tomcat.max-threads=1000
但是,无法设置最大连接数,而最大连接数直接影响到Tomcat的性能,如何调整这个最大连接数呢?
以下有三种方法
一:
package com.web.server;import org.apache.catalina.connector.Connector;import org.apache.coyote.http11.Http11NioProtocol;import org.springframework.boot.context.embedded.EmbeddedServletContainer;import org.springframework.boot.context.embedded.ServletContextInitializer;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.stereotype.Component;@Component()public class MyEmbeddedServletContainerFactory extends TomcatEmbeddedServletContainerFactory{public EmbeddedServletContainer getEmbeddedServletContainer(ServletContextInitializer... initializers){//设置端口this.setPort(8081);return super.getEmbeddedServletContainer(initializers);}protected void customizeConnector(Connector connector){super.customizeConnector(connector);Http11NioProtocol protocol = (Http11NioProtocol)connector.getProtocolHandler();//设置最大连接数protocol.setMaxConnections(2000);//设置最大线程数protocol.setMaxThreads(2000);protocol.setConnectionTimeout(30000);}}
二:
package com.web.server;import org.apache.catalina.connector.Connector;import org.apache.coyote.http11.Http11NioProtocol;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class WebServerConfiguration{@Beanpublic EmbeddedServletContainerFactory createEmbeddedServletContainerFactory(){TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory();tomcatFactory.setPort(8081);tomcatFactory.addConnectorCustomizers(new MyTomcatConnectorCustomizer());return tomcatFactory;}}class MyTomcatConnectorCustomizer implements TomcatConnectorCustomizer{public void customize(Connector connector){Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();//设置最大连接数protocol.setMaxConnections(2000);//设置最大线程数protocol.setMaxThreads(2000);protocol.setConnectionTimeout(30000);}}
三:
package com.web.server;import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class WebServerConfiguration{@Beanpublic EmbeddedServletContainerCustomizer createEmbeddedServletContainerCustomizer(){return new MyEmbeddedServletContainerCustomizer();}}class MyEmbeddedServletContainerCustomizer implements EmbeddedServletContainerCustomizer{public void customize(ConfigurableEmbeddedServletContainer container){TomcatEmbeddedServletContainerFactory tomcatFactory = (TomcatEmbeddedServletContainerFactory)container;tomcatFactory.setPort(8081);//下面的操作可以参照上面的方法}}
最后,如果发现没有生效,就把application.properties配置里面关于Tomcat的一些配置(server.*)全部删掉,就OK了。
1 0
- SpringBoot优化内嵌的Tomcat
- SpringBoot优化内嵌的Tomcat
- springboot内嵌容器的tomcat和jetty的切换原理
- SpringBoot内嵌的Tomcat启动过程及其做过的工作
- Web项目下整合springBoot+springMVC+mybatis+boot内嵌tomcat以及所需jar包
- 基于内嵌Tomcat的应用开发
- 基于内嵌Tomcat的应用开发
- Spring的内嵌Tomcat解析
- springboot tomcat的配置选项大全
- SpringBoot进行部署到云的Tomcat
- SpringBoot18-springboot的Web开发-Tomcat配置
- tomcat内的目录功能
- 无法访问虚拟机内的tomcat
- Tomcat的优化
- tomcat 的优化配置
- Tomcat的优化
- tomcat 的优化配置
- Tomcat的优化配置
- Git 基本命令
- 关于单例模式的一些讨论(实现单例模式)
- 二叉搜索树与双向链表
- C++面向对象编程分享10----观察者模式
- 新博客地址
- SpringBoot优化内嵌的Tomcat
- javascript 手机号码正则表达式验证函数
- iOS使用Object-C自定义cordova插件(二)
- Nginx+tomcat负载均衡配置
- shell 中的单行注释和多行注释
- How to install Nvidia drivers in Ubuntu 13.04
- Bloom Filter(布隆过滤器)
- Java 8怎么了之二:函数和原语
- ZOJ Problem Set - 3640