【问题标题】:Setting a tomcat property using spring boot application properties使用 Spring Boot 应用程序属性设置 tomcat 属性
【发布时间】:2015-11-21 20:59:21
【问题描述】:

我想为引导提供的 tomcat 设置 maxSwallowSize 属性。 我的 application.properties 有这一行:

server.context-parameters.maxSwallowSize=20971520 

由于某种原因无法正常工作。 server.port 等其他属性运行良好。 在 TomcatEmbeddedServletContainerFactory 中调试创建我看到有一个具有此属性的 ServletContexInitializer (InitParameterConfiguringServletContextInitializer) 但它似乎没有以任何方式使用。 (即使它在一个变量名 initializersToUse 中,讽刺的是;p)

我不喜欢在上传超过设置的最大大小时终止连接

multipart.max-request-size=10MB
multipart.max-file-size=2MB

这是设置此属性的正确方法吗?在调试过程中,我可以看到 IdentityInputFilter 的默认值为 2MB。

org.springframework.boot:spring-boot-starter-web 的最新版本

【问题讨论】:

  • 对不起,最新版本的 spring-boot-starter-web 将是旧版本的那一刻,新版本将被发布 ;-) 请说明您的确切版本,以便将来更容易读者。 (例如我,因为这个问题目前已经两年了)

标签: java spring spring-mvc tomcat spring-boot


【解决方案1】:

server.context-parameters(因为defined in the documentation可以用来指定servlet上下文的init参数)。 maxSwallowSize 是连接器的属性。我猜那是另一回事。

我们没有明确的属性,但您始终可以通过自己的 TomcatEmbeddedServletContainerFactory 进行配置。

@Bean
public TomcatEmbeddedServletContainerFactory containerFactory() {
    return new TomcatEmbeddedServletContainerFactory() {
        protected void customizeConnector(Connector connector) {
            super.customizeConnector(connector);
            if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
                (AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(value);
            }
        }
    };

}

【讨论】:

    【解决方案2】:

    上面的配置对我没有帮助(我使用的是 Spring Boot 1.5.10)

    我发现解决办法是设置

    application.properties:

    spring.http.multipart.max-file-size=10MB
    spring.http.multipart.max-request-size=10MB
    

    所有上传都可以正常工作,无需配置 Tomcat。

    【讨论】:

      【解决方案3】:

      配置 spring.http.multipart.max-request-sizema​​xSwallowSize 不同。前者配置应用程序,后者配置Tomcat服务器。

      所以在除了spring.http.multipart配置你还应该为ma​​xSwallowSize提供配置,这可以简单地为Spring Boot完成2 通过设置应用程序属性:

      server.tomcat.max-swallow-size=100MB
      

      【讨论】:

        猜你喜欢
        • 2014-01-07
        • 1970-01-01
        • 1970-01-01
        • 2020-09-15
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 2018-08-03
        • 2018-03-23
        相关资源
        最近更新 更多