Java HttpsURLConnection.getOutputStream()是否在连接超时时重试?

Java HttpsURLConnection.getOutputStream()是否在连接超时时重试?,java,http,tcp,httpurlconnection,Java,Http,Tcp,Httpurlconnection,我有个问题,花了2-3秒。我使用HttpURLConnection.setConnectTimeout设置连接超时,期望从getOutputStream()抛出SocketTimeoutException(由IOException包装),以便在另一台服务器上重试整个操作 相反,它只是现在起作用。如果getOutputStream()获得SocketTimeoutException,它是否尝试内部连接?这不是吗?如果设置ConnectTimeout(),它将不会重试。否则,在抛出IOExcepti

我有个问题,花了2-3秒。我使用HttpURLConnection.setConnectTimeout设置连接超时,期望从getOutputStream()抛出SocketTimeoutException(由IOException包装),以便在另一台服务器上重试整个操作

相反,它只是现在起作用。如果getOutputStream()获得SocketTimeoutException,它是否尝试内部连接?

这不是吗?

如果设置ConnectTimeout(),它将不会重试。否则,在抛出IOException之前,它只会再试一次


在我看来,您应该自己处理重试。

您对此有参考吗?没有。我们在查看一些HTTP跟踪时发现了这种行为,并通过查看Java 5源代码确认了这一点。所以这只是Java5的URL处理程序的一种特殊行为。。。我发现设置超时似乎确实会导致内部重试。我正在下载代码。“此方法的某些非标准实现可能会忽略指定的超时。若要查看连接超时设置,请调用getConnectTimeout()