【发布时间】:2014-08-31 11:20:50
【问题描述】:
如果用户尝试从我的 Grails Web 应用程序中的上传表单上传大文件,我想防止在大约 1 分钟后出现 SocketTimeoutException。我知道这是 Tomcat 的事情,而不是 Grails 的事情,但我正在努力使用 _Events.groovy 中的 eventConfigureTomcat 事件块修改 server.xml。
根据tomcat docs 有一个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。
我做错了什么?我应该如何设置此属性,或者是否有其他方法可以防止长时间运行的文件上传超时?
【问题讨论】:
-
发生超时时您在 catalina.out 中收到的确切错误消息是什么?
-
请注意,根据您链接的文档,
disableUploadTimeout默认为true,您应该将其设置为false,以便您可以为connectionUploadTimeout设置更长的超时期限。 (不幸的是,我不知道如何正确设置这些值。)
标签: tomcat grails file-upload timeout