Adds option to disable netty http client pooling.

This commit is contained in:
Spencer Gibb
2018-04-02 17:38:14 -04:00
parent 39913f03ff
commit cbfd3719e2
2 changed files with 9 additions and 6 deletions

View File

@@ -110,6 +110,7 @@ import org.springframework.web.reactive.socket.server.support.HandshakeWebSocket
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 io.netty.handler.ssl.util.InsecureTrustManagerFactory;
@@ -156,15 +157,17 @@ public class GatewayAutoConfiguration {
// configure pool resources
HttpClientProperties.Pool pool = properties.getPool();
PoolResources poolResources;
if (pool.getType() == FIXED) {
poolResources = PoolResources.fixed(pool.getName(),
if (pool.getType() == DISABLED) {
opts.disablePool();
} else if (pool.getType() == FIXED) {
PoolResources poolResources = PoolResources.fixed(pool.getName(),
pool.getMaxConnections(), pool.getAcquireTimeout());
opts.poolResources(poolResources);
} 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.
HttpClientProperties.Proxy proxy = properties.getProxy();

View File

@@ -61,7 +61,7 @@ public class HttpClientProperties {
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. */
private PoolType type = PoolType.ELASTIC;