Ich migriere von Steg7.6 zu Steg-9.2. Ich sehe, dass der Standardwert von Idletimeout für Anlegestellen-Verbindungen um das Zehnfache reduziert wurde.
In Steg-7.6
<Set name="maxIdleTime">300000</Set>
In Steg-9.2:
<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
Warum also?
Und deswegen bekomme ich ständig unter Ausnahme:
WARN:oejs.HttpChannel:qtp607635164-14195: Commit failed
Java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms
at org.Eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.Java:156)
at org.Eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.Java:50)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)..........
Danke, Anuj
trage dies in deinen ${jetty.base}/start.ini
ein
http.timeout=300000
das wird Ihre vorherigen Erwartungen wiederherstellen.
Als Zeitüberschreitung wurde die Standardeinstellung von 5 Minuten auf 30 Sekunden geändert, da dies für die meisten Websites die bessere Wahl ist.
Die richtige Einstellung ist
## Connector idle timeout in milliseconds
# jetty.ssl.idleTimeout=30000
Dies kann in ssl.mod Datei gefunden werden.
Unter Verwendung von Jetty 9.4 und HTTPS funktioniert die oben genannte Lösung nicht. Um dies zu beheben, habe ich eine undokumentierte Einstellung gefunden, die nicht in den INI-Dateien enthalten ist:
jetty.ssl.idleTimeout=180000
Fügen Sie das zu Ihren Jetty-Einstellungen hinzu. start.d/<whatever>.ini
oder start.ini
.