HttpGet, метод HttpPost abort () прерывает запрос, даже если для установления sh соединения требуется больше времени - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть сценарий, когда в некоторых случаях запрос должен быть прекращен на основе альтернативной конфигурации. С https://www.baeldung.com/httpclient-timeout я понял, что мы можем установить жесткий тайм-аут. Однако не знаете, как это проверить.

Прерывает ли приведенный ниже код запрос в данный момент времени, даже если есть сценарий подключения или сокета или тайм-аут чтения

HttpGet getMethod = new HttpGet(
  "http://localhost:8080/httpclient-simple/api/bars/1");

int hardTimeout = 5; // seconds
TimerTask task = new TimerTask() {
    @Override
    public void run() {
        if (getMethod != null) {
            getMethod.abort();
        }
    }
};
new Timer(true).schedule(task, hardTimeout * 1000);

HttpResponse response = httpClient.execute(getMethod);

Например, если Время ожидания соединения установлено на 10 секунд, и оно занимает более 10 секунд, а затем прерывается через 5 секунд. Аналогично для других сценариев тайм-аута ios.

Если Apache httpclient library не поддерживает это, есть ли альтернатива?

Заранее спасибо.

1 Ответ

0 голосов
/ 22 апреля 2020

Посмотрите здесь для установки соединения и тайм-аута чтения с apache http клиентом.

...