2014-08-28 14 views
7

Sto migrando da jetty7.6 a jetty-9.2. Sto vedendo che il valore predefinito di idletimeout per le connessioni jetty è ridotto di 10 volte.Jetty IdleTimeout

In molo-7,6

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

In molo-9.2:

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

Perché così?

E per questo mi sto continuamente ricevendo seguito eccezione:

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).......... 

Grazie, Anuj

risposta

8

mettere questo nel vostro ${jetty.base}/start.ini

http.timeout=300000 

che ripristinerà le vostre aspettative precedenti.

È stato modificato da un valore predefinito di 5 minuti a 30 secondi come timeout semplicemente perché è una scelta migliore per la maggior parte dei siti Web.

+0

Ho visto in jetty-http.xml: Set name = "idleTimeout"> Ma quando ho provato a impostare la proprietà java "http.timeout" su 300000. Mi mostra ancora lo stesso errore con "30000 (vecchio valore)". Perché non è impostato sul nuovo valore (perché non può essere modificato dalla proprietà java)? –

+1

Questo non è un java 'System.setProperty', è una proprietà di avvio' jetty-start'/'jetty-xml'. usa 'start.jar --list-config' per acquisire l'output, quindi modifica la tua domanda per includere questo output. –

+0

FYI, questa proprietà è ora 'jetty.http.timeout' – Golly

0

Utilizzando Jetty 9.4 e HTTPS, la soluzione di cui sopra non funziona. Per risolvere questo problema ho trovato un ambiente non documentata che non appare nei file .ini:

jetty.ssl.idleTimeout=180000

aggiungere che, per le impostazioni Jetty. start.d/<whatever>.ini o start.ini.

0

L'impostazione corretta è

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

Questo può essere trovato nel file di ssl.mod.