2010-06-22 18 views

Respuesta

4

La configuración de maxIdleTime se pasa al controlador de Socket del sistema operativo y se convierte en el valor de tiempo de espera para ese socket. Si el otro extremo de la conexión mantiene viva la conexión, el sistema operativo nunca cerrará la conexión. Jetty's Thread esperará mientras el SO considere que la conexión todavía está 'viva'.

3

El tiempo maxIdle se pasó originalmente al socket sotimeout. Sin embargo, ahora que el embarcadero es asíncrono, no se usa estrictamente así porque el tiempo de salida solo se aplica a las operaciones de bloqueo.

En cambio, el tiempo de espera se utiliza en dos circunstancias:

1) Si una conexión está inactiva (no hay respuesta excepcional), entonces si ese tiempo de espera expira la conexión se cerrará.

2) si se intenta una operación IO (normalmente una lectura o escritura de bloqueo desde un servlet), el tiempo de espera se aplica casi como si se implementara con una lectura de socket de bloqueo y fuera un tiempoSimple, es decir, IO de lectura/escritura no progresa durante el tiempo de espera, la operación fallará con una excepción TimeoutException.

Nota de amarre-9, maxIldeTime ha cambiado de nombre idleTimeout

+0

no puede realizar este ajuste trabajando para mi caso de uso http://stackoverflow.com/questions/36885803/jetty-interrupt-long-lasting-requests- timeout-before && https://github.com/graphhopper/graphhopper/issues/636 o ¿he entendido mal tu respuesta? – Karussell