Я хочу, чтобы мое приложение переходило на время ожидания в определенные секунды, но оно продолжает пытаться связаться с указанным URL-адресом, пока не получит ответ. Ниже приведен код, который я использую.Тайм-аут HttpURLConnection не работает, установив свойства системы
System.getProperties().setProperty("sun.net.client.defaultConnectTimeout", timeOut);
System.getProperties().setProperty("sun.net.client.defaultReadTimeout", timeOut);
URL url = new URL(targetURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
, но если установить следующее свойство
connection.setConnectTimeout(Integer.parseInt(timeout));
тогда он получает таймаут в нужное время, не дожидаясь ответа сервера.
Итак, почему он не исчерпал себя, используя только свойства системы?
Редактировать: Это не имеет никакого отношения к этому behavior/bug? Или существует какое-либо отношение к версии Java, потому что тот же код использовался для работы в Java 1.4, но теперь я использую Java 1.7.
@ brso05 Вы можете что-то предложить? – Steve