2014-08-28 4 views
7

Ich bin von Jetty7.6 zu Jetty-9.2 migriert. Ich sehe, dass der Standardwert von idletimeout für Jetty-Verbindungen 10 Mal reduziert wird.Jetty IdleTimeout

In Anlegesteg-7,6

<Set name="maxIdleTime">300000</Set> 

In Anlegesteg-9.2:

<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> 

Warum so?

Und aus diesem Grund bin ich ständig unter Ausnahme bekommen:

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

Antwort

8

diese ${jetty.base}/start.ini

http.timeout=300000 

in Ihrem setzen, dass Ihre bisherigen Erwartungen wieder herstellt.

Es wurde von einem Standardwert von 5 Minuten auf 30 Sekunden als Timeout geändert, nur weil das eine bessere Wahl für die meisten Websites ist.

+0

Ich sah in jetty-http.xml: Set name = "idleTimeout"> Aber wenn ich versucht, Java-Eigenschaft "http.timeout" zu setzen 300000. Es zeigt immer noch den gleichen Fehler mit "30000 (alter Wert)". Warum ist es nicht auf den neuen Wert gesetzt (warum kann dies nicht von Java-Eigenschaft geändert werden)? –

+1

Das ist kein Java 'System.setProperty', es ist eine' jetty-start'/'jetty-xml' Starteigenschaft. Verwenden Sie 'start.jar --list-config ', um die Ausgabe zu erfassen, und bearbeiten Sie dann Ihre Frage, um diese Ausgabe einzuschließen. –

+0

FYI, diese Eigenschaft ist jetzt "jetty.http.timeout" – Golly

0

Mit Jetty 9.4 und HTTPS funktioniert die obige Lösung nicht. Um dies zu beheben, fand ich eine nicht dokumentierte Einstellung, die nicht in den INI-Dateien angezeigt wird:

jetty.ssl.idleTimeout=180000

Hinzufügen, dass Ihre Jetty Einstellungen. start.d/<whatever>.ini oder start.ini.

0

Die richtige Einstellung ist

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

Dies kann in ssl.mod Datei.