Закрытие соединения HttpClient до истечения времени ожидания

В настоящее время я использую HTTPClient 4 для отправки POST-запроса на удаленный сервер следующим образом:

  HttpResponse response = httpClient.execute( request );
  InputStream is = response.getEntity().getContent();

Когда сервер недоступен, он берет себя -конфигурированное количество времени до фактического истечения времени ожидания соединения. В течение этого периода execute () является блокирующим вызовом.

Я ищу способ отменить execute () до естественного тайм-аута, чтобы мой поток, выполняющий execute (), больше не блокировался и завершился корректно.

Я пробовал

request.abort();

и

httpClient.getConnectionManager().shutdown();

, но оба эти вызова не прерывают execute (). Есть ли другой способ отменить текущую попытку подключения?

6
задан Moritz 29 December 2011 в 16:42
поделиться