HttpURLConnection setReadTimeOut () не работал должным образом - PullRequest
0 голосов
/ 30 августа 2018

Я использую HttpURLConnection для подключения к странице jsp и настроил readTimeout как 5s.

И задержал выполнение jsp-страницы Thread.Sleep () на 10 с.

Но не получите исключение тайм-аута, вместо этого соединение ждет 10 секунд, чтобы получить ответ.

HttpURLConnection con = (HttpURLConnection)jspUrl.openConnection();
con.setReadTimeout(5000);
con.connect();

Содержание страницы Jsp показано ниже.

<%
    Thread.sleep(10000);
    JSONArray arrayObj = new JSONArray();
    arrayObj.put(123);
    out.println(arrayObj);  
%>

1 Ответ

0 голосов
/ 30 августа 2018

во время выполнения ваша jsp-страница компилируется в класс сервлета, и до вашего Thread.sleep(10000); вызова некоторый ответ уже записывается через соединение. Итак, в клиентской части (ваше httpurlconnection) уже сделаны некоторые чтения, чтобы вы не попали в readtimeoutexception

Вы можете взглянуть на здесь

вы должны напрямую использовать Servlet для проверки таймаутов ...

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