2015-08-27 197 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); 
      } 
     } 
    }; 

} 
相關問題