Ich möchte verhindern, dass die SocketTimeoutException
nach etwa 1 Minute auftritt, wenn ein Benutzer versucht, eine große Datei von einem Upload-Formular in meiner Grails-Webanwendung hochzuladen. Ich weiß, das ist eher eine Tomcat-Sache als eine Grails-Sache, aber ich habe ein wenig Mühe, server.xml
mit dem Ereignisblock eventConfigureTomcat
in _Events.groovy
zu ändern.Grails Verbindungstimeout während großer Dateiupload
Nach den tomcat docs gibt es eine disableUploadTimeout
Eigenschaft, die ich true
auf dem Steckverbinderset sollte, aber wenn ich versuche, diese im eventConfigureTomcat
Block, bekomme ich folgende Fehlermeldung, wenn mein app startet:
| 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)
die Inhalte meiner _Events.groovy
sieht wie folgt aus:
eventConfigureTomcat = { tomcat ->
tomcat.connector.disableUploadTimeout = "true"
}
Und das Fehler macht Sinn - nach dem javadoc gibt es keine Eigenschaft disableUploadTimeout
bei dieser Connector-Implementierung.
Was mache ich falsch? Wie sollte ich diese Eigenschaft festlegen, oder gibt es eine andere Möglichkeit, zu verhindern, dass lange laufende Dateiuploads fehlschlagen?
was ist die genaue Fehlermeldung Sie in catalina.out erhalten, wenn das Timeout auftritt? – rdmueller
Beachten Sie, dass 'disableUploadTimeout' standardmäßig auf' true' eingestellt ist, und Sie sollten es auf 'false' setzen, damit Sie ein längeres Zeitlimit für' connectionUploadTimeout' festlegen können. (Leider weiß ich nicht, wie ich diese Werte richtig einstellen soll.) –