Browse Source

ReactorNettyClientResponse should close response body

This commit ensures that the response body is drained and closed when
the response itself is closed, instead of disposing the connection, as
this will disable the connection pool.

Closes gh-32528
pull/32864/head
Arjen Poutsma 2 years ago
parent
commit
b24221754a
  1. 9
      spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientResponse.java

9
spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientResponse.java

@ -27,6 +27,7 @@ import org.springframework.http.HttpHeaders; @@ -27,6 +27,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.support.Netty4HeadersAdapter;
import org.springframework.lang.Nullable;
import org.springframework.util.StreamUtils;
/**
* {@link ClientHttpResponse} implementation for the Reactor-Netty HTTP client.
@ -89,7 +90,13 @@ final class ReactorNettyClientResponse implements ClientHttpResponse { @@ -89,7 +90,13 @@ final class ReactorNettyClientResponse implements ClientHttpResponse {
@Override
public void close() {
this.connection.dispose();
try{
InputStream body = getBody();
StreamUtils.drain(body);
body.close();
}
catch (IOException ignored) {
}
}
}

Loading…
Cancel
Save