В настоящее время я использую HTTPClient 4 для отправки POST-запроса на удаленный сервер следующим образом:
HttpResponse response = httpClient.execute( request );
InputStream is = response.getEntity().getContent();
Когда сервер недоступен, он берет себя -конфигурированное количество времени до фактического истечения времени ожидания соединения. В течение этого периода execute () является блокирующим вызовом.
Я ищу способ отменить execute () до естественного тайм-аута, чтобы мой поток, выполняющий execute (), больше не блокировался и завершился корректно.
Я пробовал
request.abort();
и
httpClient.getConnectionManager().shutdown();
, но оба эти вызова не прерывают execute (). Есть ли другой способ отменить текущую попытку подключения?