2015-08-27 154 views
2

我想为引导提供的tomcat设置maxSwallowSize属性。 我application.properties有这样一行:使用spring引导应用程序属性设置tomcat属性

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的版本:弹簧引导起动的web

回答

7

server.context-parameters(如defined in the documentation可以用于指定servlet上下文的初始化参数)。 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); 
      } 
     } 
    }; 

} 
相关问题