Jestem obecnie za pomocą HTTPClient 4 do żądania POST do zdalnego serwera jak ten:Zamknięcie HttpClient połączenie przed Timout osiągnięciu
HttpResponse response = httpClient.execute(request);
InputStream is = response.getEntity().getContent();
Gdy serwer nie jest osiągalny potrzebny samoskonfigurowanego ilość czas zanim połączenie faktycznie przekroczy limit czasu. Podczas tego periode execute() jest wywołaniem blokującym.
To, czego szukam, to sposób na anulowanie execute() przed naturalnym limitem czasu, aby mój wątek uruchamiający execute() nie był już zablokowany i zakończy się z wdziękiem.
Próbowałem
request.abort();
i
httpClient.getConnectionManager().shutdown();
Ale oba te rozmowy nie przerywają execute(). Czy istnieje inny sposób anulowania trwającej próby połączenia?
szukam sposobu, aby zatrzymać blokowanie execute(), aby nie czekać dłużej. – Moritz
Przyszłość impl będzie "blokować", ale wątek wywołujący może czekać na ~ dokładną miarę mseków, a następnie "timeout" i kontynuować swoją wesołą drogę. – alphazero
Nie chcę czekać dokładnego czasu, chcę zatrzymać execute() od blokowania bieżącego wątku. – Moritz