webentwicklung-frage-antwort-db.com.de

Jetty IdleTimeout

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

8
Anuj Khandelwal

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.

8
Joakim Erdfelt

Die richtige Einstellung ist

## Connector idle timeout in milliseconds
# jetty.ssl.idleTimeout=30000

Dies kann in ssl.mod Datei gefunden werden.

0
Nandan Phadke

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.

0
Golly