diff --git a/src/main/java/com/github/dockerjava/jaxrs/JerseyDockerCmdExecFactory.java b/src/main/java/com/github/dockerjava/jaxrs/JerseyDockerCmdExecFactory.java index 3339a2696..73bab979e 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/JerseyDockerCmdExecFactory.java +++ b/src/main/java/com/github/dockerjava/jaxrs/JerseyDockerCmdExecFactory.java @@ -20,6 +20,7 @@ import com.github.dockerjava.api.command.UpdateContainerCmd; import com.github.dockerjava.core.SSLConfig; +import org.apache.http.client.config.RequestConfig; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; @@ -110,6 +111,8 @@ public class JerseyDockerCmdExecFactory implements DockerCmdExecFactory { private Integer maxPerRouteConnections = null; + private Integer connectionRequestTimeout = null; + private ClientRequestFilter[] clientRequestFilters = null; private ClientResponseFilter[] clientResponseFilters = null; @@ -216,9 +219,10 @@ public void shutdown() { clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, connManager); // Configure connection pool timeout - // clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, RequestConfig.custom() - // .setConnectionRequestTimeout(1000).build()); - + if (connectionRequestTimeout != null) { + clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, RequestConfig.custom() + .setConnectionRequestTimeout(connectionRequestTimeout).build()); + } ClientBuilder clientBuilder = ClientBuilder.newBuilder().withConfig(clientConfig); if (sslContext != null) { @@ -570,6 +574,11 @@ public JerseyDockerCmdExecFactory withMaxPerRouteConnections(Integer maxPerRoute return this; } + public JerseyDockerCmdExecFactory withConnectionRequestTimeout(Integer connectionRequestTimeout) { + this.connectionRequestTimeout = connectionRequestTimeout; + return this; + } + public JerseyDockerCmdExecFactory withClientResponseFilters(ClientResponseFilter... clientResponseFilter) { this.clientResponseFilters = clientResponseFilter; return this;