moremind commented on code in PR #3438:
URL: https://github.com/apache/incubator-shenyu/pull/3438#discussion_r884804205


##########
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-httpclient/src/main/java/org/apache/shenyu/springboot/starter/plugin/httpclient/HttpClientPluginConfiguration.java:
##########
@@ -128,50 +134,75 @@ public HttpClient httpClient(final HttpClientProperties 
properties,
     }
 
     private void setSsl(final SslProvider.SslContextSpec sslContextSpec, final 
HttpClientProperties.Ssl ssl) {
-        SslContextBuilder sslContextBuilder = SslContextBuilder.forClient();
-        X509Certificate[] trustedX509Certificates = 
ssl.getTrustedX509CertificatesForTrustManager();
-        if (ArrayUtils.isNotEmpty(trustedX509Certificates)) {
-            sslContextBuilder.trustManager(trustedX509Certificates);
-        } else if (ssl.isUseInsecureTrustManager()) {
-            
sslContextBuilder.trustManager(InsecureTrustManagerFactory.INSTANCE);
-        }
-        sslContextBuilder.keyManager(ssl.getKeyManagerFactory());
-        sslContextSpec.sslContext(sslContextBuilder)
-                .defaultConfiguration(ssl.getDefaultConfigurationType())
+        SslProvider.ProtocolSslContextSpec spec = 
DefaultSslContextSpec.forClient()
+                .configure(sslContextBuilder -> {
+                    X509Certificate[] trustedX509Certificates = 
ssl.getTrustedX509CertificatesForTrustManager();
+                    if (ArrayUtils.isNotEmpty(trustedX509Certificates)) {
+                        
sslContextBuilder.trustManager(trustedX509Certificates);
+                    } else if (ssl.isUseInsecureTrustManager()) {
+                        
sslContextBuilder.trustManager(InsecureTrustManagerFactory.INSTANCE);
+                    }
+                    sslContextBuilder.keyManager(ssl.getKeyManagerFactory());
+                    
sslContextBuilder.sslProvider(ssl.getDefaultConfigurationType());
+                });
+        sslContextSpec.sslContext(spec)
                 .handshakeTimeout(ssl.getHandshakeTimeout())
                 .closeNotifyFlushTimeout(ssl.getCloseNotifyFlushTimeout())
                 .closeNotifyReadTimeout(ssl.getCloseNotifyReadTimeout());
     }
 
-    private TcpClient setTcpClientProxy(final TcpClient tcpClient, final 
HttpClientProperties.Proxy proxy) {
-        return tcpClient.proxy(proxySpec -> {
-            ProxyProvider.Builder builder = proxySpec
-                    .type(ProxyProvider.Proxy.HTTP)
-                    .host(proxy.getHost());
-            PropertyMapper map = PropertyMapper.get();
-            map.from(proxy::getPort).whenNonNull().to(builder::port);
-            map.from(proxy::getUsername).whenHasText()
-                    .to(builder::username);
-            map.from(proxy::getPassword).whenHasText()
-                    .to(password -> builder.password(s -> password));
-            map.from(proxy::getNonProxyHostsPattern).whenHasText()
-                    .to(builder::nonProxyHosts);
-        });
-    }
-
     private ConnectionProvider buildConnectionProvider(final 
HttpClientProperties.Pool pool) {
         ConnectionProvider connectionProvider;
         if (pool.getType() == HttpClientProperties.Pool.PoolType.DISABLED) {
             connectionProvider = ConnectionProvider.newConnection();
         } else if (pool.getType() == HttpClientProperties.Pool.PoolType.FIXED) 
{
-            connectionProvider = ConnectionProvider.fixed(pool.getName(),
-                    pool.getMaxConnections(), pool.getAcquireTimeout(), 
pool.getMaxIdleTime());
+            // TODO moremind add fixed connection pool
+            // reactor remove fixed pool from 0.9.4
+            // reason: https://github.com/reactor/reactor-netty/issues/1499 
and https://github.com/reactor/reactor-netty/issues/1960
+            connectionProvider = buildFixedConnectionPool(pool.getName(), 
pool.getMaxConnections(), pool.getAcquireTimeout(), pool.getMaxIdleTime());
         } else {
-            connectionProvider = ConnectionProvider.elastic(pool.getName(), 
pool.getMaxIdleTime());
+            // TODO moremind add elastic connection pool
+            // reactor remove elastic pool from 0.9.4
+            // reason: https://github.com/reactor/reactor-netty/issues/1499 
and https://github.com/reactor/reactor-netty/issues/1960
+            connectionProvider = buildFixedConnectionPool(pool.getName(), 
pool.getMaxConnections(), pool.getAcquireTimeout(), pool.getMaxIdleTime());

Review Comment:
   please attention.fix and elastic connection pool need optimize in next 
released reactor-netty version.now, just support fixed connection pool.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to