【问题标题】:How to set max-swallow-size in spring boot 2?如何在 Spring Boot 2 中设置 max-swallow-size?
【发布时间】:2019-05-17 10:42:34
【问题描述】:

我正在尝试在springboot微服务中将tomcat的ma​​x-swallow-size属性设置为-1,同时升级到springboot版本2;我之前的代码可以正常工作,但在升级过程中,一些类发生了变化,所以它停止工作了。

我尝试通过两种方式设置属性,但都不起作用;

  1. 带有服务配置
@Bean
public ServletWebServerFactory servletContainerFactory() {

        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();

        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                if(connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
                    logger.debug("Setting maxSwallowSize for server connector as "+maxSwallowSize);
                    ((AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(maxSwallowSize);
                }
            }
        });

        return factory;
    }

在控制流中,我可以看到打印的调试行,但它没有生效,因为端点响应是 502(Bad gateway) 而不是 400

第二种方式: 2.通过application.properties文件带属性

server.tomcat.max-swallow-size=-1

这也不兑现。

现在,如何验证属性值是否实际设置? 还是我以正确的方式设置值?

【问题讨论】:

    标签: spring-boot microservices bad-gateway


    【解决方案1】:

    这个新课程解决了我的问题

    @Component
    public class TomcatCustomizer implements
    WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
    
        @Override
        public void customize(TomcatServletWebServerFactory factory) {
    
            factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
                @Override
                public void customize(Connector connector) {
                    if(connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
                        ((AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(maxSwallowSize);
                    }
                }
            });
        }
    }
    

    我在 Spring Boot 2.0 中使用了更新的属性

    spring.servlet.multipart.max-file-size= XX MB
    spring.servlet.multipart.max-request-size= YY MB
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-13
      • 2019-07-21
      • 2019-02-22
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 2013-03-30
      • 2019-06-26
      相关资源
      最近更新 更多