我想为引导提供的 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 的最新版本
最佳答案
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);
}
}
};
}
关于java - 使用 spring boot 应用程序属性设置 tomcat 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32250030/