Skip to content

Commit 1bfe308

Browse files
martinermarcuslinke
authored andcommitted
Allow to configure connection pool timeout (#703)
The default connection pool timeout of Apache HTTP Client is -1 (unlimited)
1 parent d39d7f2 commit 1bfe308

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/main/java/com/github/dockerjava/jaxrs/JerseyDockerCmdExecFactory.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.github.dockerjava.api.command.UpdateContainerCmd;
2121
import com.github.dockerjava.core.SSLConfig;
2222

23+
import org.apache.http.client.config.RequestConfig;
2324
import org.apache.http.config.RegistryBuilder;
2425
import org.apache.http.conn.socket.ConnectionSocketFactory;
2526
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
@@ -110,6 +111,8 @@ public class JerseyDockerCmdExecFactory implements DockerCmdExecFactory {
110111

111112
private Integer maxPerRouteConnections = null;
112113

114+
private Integer connectionRequestTimeout = null;
115+
113116
private ClientRequestFilter[] clientRequestFilters = null;
114117

115118
private ClientResponseFilter[] clientResponseFilters = null;
@@ -216,9 +219,10 @@ public void shutdown() {
216219
clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, connManager);
217220

218221
// Configure connection pool timeout
219-
// clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, RequestConfig.custom()
220-
// .setConnectionRequestTimeout(1000).build());
221-
222+
if (connectionRequestTimeout != null) {
223+
clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, RequestConfig.custom()
224+
.setConnectionRequestTimeout(connectionRequestTimeout).build());
225+
}
222226
ClientBuilder clientBuilder = ClientBuilder.newBuilder().withConfig(clientConfig);
223227

224228
if (sslContext != null) {
@@ -570,6 +574,11 @@ public JerseyDockerCmdExecFactory withMaxPerRouteConnections(Integer maxPerRoute
570574
return this;
571575
}
572576

577+
public JerseyDockerCmdExecFactory withConnectionRequestTimeout(Integer connectionRequestTimeout) {
578+
this.connectionRequestTimeout = connectionRequestTimeout;
579+
return this;
580+
}
581+
573582
public JerseyDockerCmdExecFactory withClientResponseFilters(ClientResponseFilter... clientResponseFilter) {
574583
this.clientResponseFilters = clientResponseFilter;
575584
return this;

0 commit comments

Comments
 (0)