定制化tomcat
springboot中是集成了tomcat容器的,如何定制化内置的tomcat呢?springboot提供了定制化的接口
1.5.x版本
在1.5.x版本中使用的是EmbeddedServletContainerCustomizer接口来进行定制化的
1 2 3 4 5 6 7 8
| public class MyTomcatCustomizer implements EmbeddedServletContainerCustomizer {
@Override public void customize(ConfigurableEmbeddedServletContainer container) { TomcatEmbeddedServletContainerFactory factory = (TomcatEmbeddedServletContainerFactory) container; factory.setSessionTimeout(5000); } }
|
2.x版本
而升级到springboot2.x的时候发现报错了,这个接口不存在了,springboot2.x中使用WebServerFactoryCustomizer接口进行替换的
1 2 3 4 5 6 7
| public class MyTomcatCustomizer implements WebServerFactoryCustomizer { @Override public void customize(WebServerFactory factory) { TomcatServletWebServerFactory tomcatFactory = (TomcatServletWebServerFactory) factory; tomcatFactory.setUriEncoding(StandardCharsets.UTF_8); } }
|