URLConnection timeout無効問題

URLConnection#setConnectTimeout

現在はっきりしていること。

setConnectTimeoutの設定値如何に関わらず20秒でタイムアウトする(Connection timed out)

setConnectTimeoutの設定値如何に関わらず2秒でリフューズする(Connection refused)

どちらもO/SのTCP/IPスタックのデフォルトの振る舞いがそのまま表出しているように見える。

当然ながら未だに解決せず。明日は各種JVMプロパティを試して、その後は他のO/Sでも動かしてみよう。

-Dsun.net.http.retryPost=false
-Dsun.net.client.defaultConnectTimeout=10000
-Dsun.net.client.defaultReadTimeout=1000

どれもJava6となっては関係なさげだが。