Альтернатива java.net.URL для настройки времени ожидания - PullRequest
19 голосов
/ 18 марта 2011

Требуется настройка времени ожидания для удаленного запроса данных, выполненного с использованием класса java.net.URL.После некоторого поиска в Google обнаружил, что есть два системных свойства, которые можно использовать для установки времени ожидания для класса URL следующим образом:

sun.net.client.defaultConnectTimeout  
sun.net.client.defaultReadTimeout

Я не контролирую все системы и не хочу, чтобы всепродолжайте устанавливать системные свойства.Есть ли другая альтернатива для выполнения удаленного запроса, которая позволит мне установить таймауты.Без какой-либо библиотеки, если она доступна в самой java, предпочтительнее.

Ответы [ 2 ]

55 голосов
/ 18 марта 2011

Если вы открываете URLConnection из URL, вы можете установить время ожидания следующим образом:

URL url = new URL(urlPath);
URLConnection con = url.openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(readTimeout);
InputStream in = con.getInputStream();

Как вы используете URL или для чего вы его передаете?

2 голосов
/ 18 марта 2011

Обычной заменой является Apache Commons HttpClient , он дает гораздо больший контроль над всем процессом выборки HTTP-URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...