Ho un'applicazione web basata su tomcat. Sto intermittenza ottenendo il seguente eccezione,java.net.SocketTimeoutException: lettura scaduta con tomcat
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:532)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501)
at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:563)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:124)
at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:346)
at org.apache.coyote.Request.doRead(Request.java:422)
at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:431)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
Purtroppo non ho accesso al client, in modo che io sto solo cercando di confermare su varie ragioni questo può accadere,
server tenta leggere i dati dalla richiesta, ma richiede più tempo del valore di timeout per i dati che arrivano dal client. Il timeout in questo caso è normalmente il connettore tomcat -> connectionTimeout.
Il client dispone di un set di timeout di lettura e il server impiega più tempo di quello per rispondere.
Uno dei thread che ho passato, ha detto che questo può accadere con alta concorrenza e se il keepalive è abilitato.
per # 1, il valore iniziale avevo set è stato di 20 secondi, ho urtato questo fino a 60sec, metterà alla prova e vedere se ci sono eventuali modifiche.
Nel frattempo, se qualcuno di voi può fornirvi un parere esperto su questo, sarà davvero d'aiuto. O per qualsiasi altra ragione puoi pensare a quale potrebbe causare questo problema.
Grazie in anticipo.
Vicky
Non credo sia il punto 2; tuttavia, per confermare si dovrebbe anche impostare un 'AccessLogValve' e provare e correlare questa eccezione con una richiesta specifica. – fge
Ciao Vicky, sei riuscito a risolvere questo problema? Sto affrontando lo stesso problema. – Elina