mokkouyouです。
初見propertyだったので少し調べてみました。
最近のWindowsシステムやGnome 2.xシステムでは、このプロパティをtrueに設定し、システムのプロキシ設定を使用するように
java.net stackに指示できます(これらのどちらのシステムでも、ユーザー・インタフェースからプロキシをグローバルに設定可能)。このプロパティは起動時に1回だけチェックされることに注意してください。
以上から、リトライ時に設定してもダメなのでは?という仮説の元、簡単すぎる確認を
①TimeOutに。
try {
InputStream input = new URL(URL).openStream();
System.out.println("not time out");
} catch (IOException e) {
e.printStackTrace();
}
②①を実行時に-Dで指定OK
③①を変更System.setProperty(-Dなし)・・・OK
try {
System.setProperty("java.net.useSystemProxies", "true");
InputStream input = new URL(URL).openStream();
System.out.println("not time out");
} catch (IOException e) {
e.printStackTrace();
}
④リトライ時に指定・・・NG(共にタイムアウト)
try {
InputStream input = new URL(URL).openStream();
System.out.println("not time out");
} catch (IOException e) {
e.printStackTrace();
System.setProperty("java.net.useSystemProxies", "true");
try {
InputStream input = new URL(URL).openStream();
} catch (IOException e1) {
e1.printStackTrace();
}
}
というわけで一度NGになった後にシステムプロパティ指定してもダメなのでは?疑いがあります。