Что такое HttpRequestBase # releaseConnection, используемый в apach httpclient-4.5.x - PullRequest
0 голосов
/ 24 февраля 2020

Как видно из быстрого запуска httpclient-4.5.x , "Чтобы гарантировать правильное освобождение системных ресурсов, пользователь ДОЛЖЕН вызывать CloseableHttpResponse # close () из предложения finally."

Но давайте проверим код HttpRequestBase # releaseConnection (). В аннотации сказано: «Удобный метод для упрощения перехода с API HttpClient 3.1. Этот метод эквивалентен {@link #reset ()}."

public abstract class HttpRequestBase extends AbstractExecutionAwareRequest
    implements HttpUriRequest, Configurable {
......
/**
     * A convenience method to simplify migration from HttpClient 3.1 API. This method is
     * equivalent to {@link #reset()}.
     *
     * @since 4.2
     */
    public void releaseConnection() {
        reset();
    }

....
}

Я хочу спросить, теперь нам нужно только вызовите CloseableHttpResponse # close () из предложения finally для освобождения ресурса, тогда для чего используется HttpRequestBase # releaseConnection ()? для чего используется AbstractExecutionAwareRequest # reset ()? Когда мы должны использовать HttpRequestBase # releaseConnection () или AbstractExecutionAwareRequest # reset ().

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