@Bean public WebServerFactoryCustomizer tomcatFactoryCustomizer() { return server -> { if (server instanceof TomcatServletWebServerFactory) { ((TomcatServletWebServerFactory) server).addConnectorCustomizers(tomcatGracefulShutdown()); } }; }
@Override public void customize(ConfigurableServletWebServerFactory factory) { if (factory instanceof TomcatServletWebServerFactory) { ((TomcatServletWebServerFactory) factory).addConnectorCustomizers(new GracefulShutdown()); } }
@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers( connector -> { Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); protocol.setDisableUploadTimeout(false); } ); return factory; }
@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1); } }); tomcat.addAdditionalTomcatConnectors(initiateHttpConnector()); return tomcat; }
@Bean public ServletWebServerFactory tomcatEmbedded(){ TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector ->{ if (connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>){ //-1 无限的意思 ((AbstractHttp11Protocol<?>)connector.getProtocolHandler()).setMaxSwallowSize(-1); } }); return tomcat; } }
@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers(connector -> connector.setAllowTrace(true)); return tomcat; }