I need to know the feature of connectiontimeout setting for URLConnection. Can anyone provide concrete answer for my below questions:
1. When can we set connectiontimeout?
2. If I give some value in milliseconds for connectiontimeout, what will happen while connecting specific URL?
3. If I am unable to read my Inputstream after connection established, can connectiontimeout property take care of that particular connectivity?,else should we set property for readtimeout also?
That's an interesting question. I found the JavaDocs to be a bit unclear on this point, but with a few experiments, I've found that
seem to succeed immediately without trying to contact the host. However:
will try to connect to the remote host.
URLConnection has two timeout methods, one for setting the read timeout, and another for setting the connect timeout. So if you set:
and it can't connect within 10 seconds, it will throw a SocketTimeoutException. Try it!
Another option is setting the system properties: sun.net.client.defaultConnectTimeout and sun.net.client.defaultReadTimeout. I think that would work, but you probably have to set them as you start the JVM, i.e., with a -D parameter.