Configuring maxKeepAliveRequests in Spring Boot embedded Tomcat

10,586

The code above has been confirmed to work. It was a silly mistake with a wrong @ComponentScan scope that caused my code not to work.

Share:
10,586
feicipet
Author by

feicipet

Updated on August 09, 2022

Comments

  • feicipet
    feicipet over 1 year

    I need to modify the maxKeepAliveRequests value in my Spring Boot Zuul gateway to a value higher than the default 100. Noting that this value is not exposed in Spring Boot's common properties list, I tried to set the property via @Configuration class instead:

    @Configuration
    public class DefaultConfig {
        @Bean
        public EmbeddedServletContainerFactory servletContainerFactory() {
            TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
    
            factory.addConnectorCustomizers(connector ->
                    ((AbstractHttp11Protocol) connector.getProtocolHandler()).setMaxKeepAliveRequests(1000));
    
            return factory;
        }
    }
    

    But it doesn't seem to take the desired effect. Is there a proper way for me to change Tomcat properties that are not exposed via Spring common properties?