From 3dffc0fd53ce63821f7188734a47d4c16e507399 Mon Sep 17 00:00:00 2001 From: internalerror Date: Tue, 16 Mar 2021 23:55:11 +0800 Subject: [PATCH] Fix memory leak risk by using `disableConnectionState()` to disable httpclient connection state tracking (HttpClient transport) (#1559) --- .../dockerjava/httpclient5/ApacheDockerHttpClientImpl.java | 1 + docs/getting_started.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java b/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java index 24ff57efa..1cc85721c 100644 --- a/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java +++ b/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java @@ -91,6 +91,7 @@ protected ApacheDockerHttpClientImpl( httpClient = HttpClients.custom() .setRequestExecutor(new HijackingHttpRequestExecutor(null)) .setConnectionManager(connectionManager) + .disableConnectionState() .build(); } diff --git a/docs/getting_started.md b/docs/getting_started.md index ebc41d62e..c389fba71 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -90,6 +90,7 @@ DockerClientConfig config = ...; DockerHttpClient httpClient = new ApacheDockerHttpClient.Builder() .dockerHost(config.getDockerHost()) .sslConfig(config.getSSLConfig()) + .maxConnections(100) .build(); ``` @@ -118,4 +119,4 @@ DockerClient dockerClient = DockerClientImpl.getInstance(config, httpClient); Once you have it, you can start executing Docker commands: ```java dockerClient.pingCmd().exec(); -``` \ No newline at end of file +```