在大文件上传期间Grails连接超时



我想防止在大约1分钟后发生的SocketTimeoutException,如果用户试图从Grails web应用程序的上传表单上传一个大文件。我知道这是Tomcat的事情,而不是Grails的事情,但我正在努力使用eventConfigureTomcat事件块在_Events.groovy修改server.xml

根据tomcat文档,有一个disableUploadTimeout属性,我应该在连接器上设置为true,但是当我在eventConfigureTomcat块中尝试这个时,当我的应用程序启动时,我得到以下错误:

| Running Grails application
| Error Server failed to start: No such property: disableUploadTimeout for class: org.apache.catalina.connector.Connector (Use --stacktrace to see the full trace)

我的_Events.groovy的内容看起来像这样:

eventConfigureTomcat = { tomcat ->
    tomcat.connector.disableUploadTimeout = "true"
}

这个错误是有意义的——根据javadoc,在连接器实现上没有disableUploadTimeout属性。

我做错了什么?我应该如何设置此属性,或者是否有其他方法可以防止长时间运行的文件上传超时?

还没有检查,但是看一下tomcat文档,您想要修改的配置似乎是Connector的一个属性。

连接器有一个名为setAttribute的方法。所以我猜你会成功使用以下代码:

eventConfigureTomcat = { tomcat ->
    tomcat.connector.setAttribute('disableUploadTimeout', true); //may 'true'
}

不得不承认我自己无法测试这段代码…

更新:根据@Charles-Wood,它必须设置为false而不是true

PS:如果你发布更多关于如何重现你的问题的信息,我会给它一个尝试

相关内容

  • 没有找到相关文章

最新更新