Browse Source

Adds option to disable netty http client pooling.

pull/266/head
Spencer Gibb 7 years ago
parent
commit
cbfd3719e2
No known key found for this signature in database
GPG Key ID: 7788A47380690861
  1. 13
      spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java
  2. 2
      spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java

13
spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java

@ -110,6 +110,7 @@ import org.springframework.web.reactive.socket.server.support.HandshakeWebSocket
import com.netflix.hystrix.HystrixObservableCommand; import com.netflix.hystrix.HystrixObservableCommand;
import static org.springframework.cloud.gateway.config.HttpClientProperties.Pool.PoolType.DISABLED;
import static org.springframework.cloud.gateway.config.HttpClientProperties.Pool.PoolType.FIXED; import static org.springframework.cloud.gateway.config.HttpClientProperties.Pool.PoolType.FIXED;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
@ -156,15 +157,17 @@ public class GatewayAutoConfiguration {
// configure pool resources // configure pool resources
HttpClientProperties.Pool pool = properties.getPool(); HttpClientProperties.Pool pool = properties.getPool();
PoolResources poolResources; if (pool.getType() == DISABLED) {
if (pool.getType() == FIXED) { opts.disablePool();
poolResources = PoolResources.fixed(pool.getName(), } else if (pool.getType() == FIXED) {
PoolResources poolResources = PoolResources.fixed(pool.getName(),
pool.getMaxConnections(), pool.getAcquireTimeout()); pool.getMaxConnections(), pool.getAcquireTimeout());
opts.poolResources(poolResources);
} else { } else {
poolResources = PoolResources.elastic(pool.getName()); PoolResources poolResources = PoolResources.elastic(pool.getName());
opts.poolResources(poolResources);
} }
opts.poolResources(poolResources);
// configure proxy if proxy host is set. // configure proxy if proxy host is set.
HttpClientProperties.Proxy proxy = properties.getProxy(); HttpClientProperties.Proxy proxy = properties.getProxy();

2
spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java

@ -61,7 +61,7 @@ public class HttpClientProperties {
public static class Pool { public static class Pool {
public enum PoolType { ELASTIC, FIXED } public enum PoolType { ELASTIC, FIXED, DISABLED }
/** Type of pool for HttpClient to use, defaults to ELASTIC. */ /** Type of pool for HttpClient to use, defaults to ELASTIC. */
private PoolType type = PoolType.ELASTIC; private PoolType type = PoolType.ELASTIC;

Loading…
Cancel
Save