Timeout in URLConnection

Hello, i have a problem,

i have an URLConnection to send some data from an applet to a servlet, i need NOT to have timeout but the connection is giving me a timeout, i'm using java 1.5 so i did this:

URLConnection servletConnection = url.openConnection();

servletConnection.setReadTimeout(0);

servletConnection.setConnectTimeout(0);

...

but i still got the timeout.

How can i get rid of that timeout?

Thanks in advance.

Escobar5

[491 byte] By [escobar5a] at [2007-11-27 6:43:43]
# 1
Could you post the trace of the exception?-Jithen
jkaipaa at 2007-7-12 18:14:43 > top of Java-index,Core,Core APIs...
# 2

sure, here it is:

java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:129)

at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:730)

at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:760)

at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:115)

at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:695)

at org.apache.coyote.Request.doRead(Request.java:425)

at org.apache.coyote.tomcat5.InputBuffer.realReadBytes(InputBuffer.java:290)

at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:374)

at org.apache.coyote.tomcat5.InputBuffer.read(InputBuffer.java:305)

at org.apache.coyote.tomcat5.CoyoteInputStream.read(CoyoteInputStream.java:179)

at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2217)

at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2230)

at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)

at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)

at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)

at pos.actions.POSfacturarAction.execute(POSfacturarAction.java:59)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

at java.lang.Thread.run(Thread.java:595)

escobar5a at 2007-7-12 18:14:43 > top of Java-index,Core,Core APIs...
# 3
please, i really need help with this
escobar5a at 2007-7-12 18:14:43 > top of Java-index,Core,Core APIs...
# 4

This is a timeout inside Tomcat, not a timeout in the code you showed. There is a Tomcat configuration element somewhere. However you should investigate the cause of the timeout, not just blindly set it to zero. A network application should always use a read timeout, otherwise it is liable to get stuck forever under certain network conditions.

ejpa at 2007-7-12 18:14:43 > top of Java-index,Core,Core APIs...