Нужно ли закрывать Response.body для пользовательской обработки ошибок в клиенте Feign - PullRequest
0 голосов
/ 19 октября 2018

Я определил пользовательский ErrorDecoder для Feign Client со ссылкой на эту вики страницу.

В моем ErrorDecoder я читаю тело ответа, вызывая response.body()

Нужно ли close ответить в моем ErrorDecoder при чтении InputStream.Или Feign будет обрабатывать закрытие response?

Я проверил SynchronousMethodHandler, который вызывает пользовательский декодер ошибок.В нем есть finally блок

} finally {
    if (shouldClose) {
        Util.ensureClosed(response.body());
}

, так как на вики-странице нет рекомендаций.

1 Ответ

0 голосов
/ 15 декабря 2018

Если вы читаете объект Response напрямую, вы должны закрыть тело самостоятельно, у нас будут утечки ресурсов.Это также верно, если вы возвращаете Response объекты как часть вашего интерфейса Feign.

...