You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ya...@apache.org on 2019/07/30 06:56:40 UTC

[servicecomb-java-chassis] branch master updated: [SCB-1405] supporting maxWaitQueueSize setting in RestTransportClient (#1282)

This is an automated email from the ASF dual-hosted git repository.

yaohaishi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 1870992  [SCB-1405] supporting maxWaitQueueSize setting in RestTransportClient (#1282)
1870992 is described below

commit 1870992bd20f6b9000134f936142971dea0494c4
Author: Ang Li <31...@users.noreply.github.com>
AuthorDate: Tue Jul 30 14:56:36 2019 +0800

    [SCB-1405] supporting maxWaitQueueSize setting in RestTransportClient (#1282)
---
 .../transport/rest/client/RestTransportClient.java         | 14 ++++++++------
 .../transport/rest/client/TransportClientConfig.java       |  7 +++++++
 .../transport/rest/client/TestTransportClientConfig.java   |  7 +++++++
 3 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClient.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClient.java
index ae7d28d..5d5a927 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClient.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClient.java
@@ -75,11 +75,12 @@ public class RestTransportClient {
 
   private static HttpClientOptions createHttpClientOptions() {
     HttpClientOptions httpClientOptions = new HttpClientOptions();
-    httpClientOptions.setMaxPoolSize(TransportClientConfig.getConnectionMaxPoolSize());
-    httpClientOptions.setIdleTimeout(TransportClientConfig.getConnectionIdleTimeoutInSeconds());
-    httpClientOptions.setKeepAlive(TransportClientConfig.getConnectionKeepAlive());
-    httpClientOptions.setTryUseCompression(TransportClientConfig.getConnectionCompression());
-    httpClientOptions.setMaxHeaderSize(TransportClientConfig.getMaxHeaderSize());
+    httpClientOptions.setMaxPoolSize(TransportClientConfig.getConnectionMaxPoolSize())
+        .setIdleTimeout(TransportClientConfig.getConnectionIdleTimeoutInSeconds())
+        .setKeepAlive(TransportClientConfig.getConnectionKeepAlive())
+        .setTryUseCompression(TransportClientConfig.getConnectionCompression())
+        .setMaxHeaderSize(TransportClientConfig.getMaxHeaderSize())
+        .setMaxWaitQueueSize(TransportClientConfig.getMaxWaitQueueSize());
 
     VertxTLSBuilder.buildHttpClientOptions(SSL_KEY, httpClientOptions);
     return httpClientOptions;
@@ -93,7 +94,8 @@ public class RestTransportClient {
         .setIdleTimeout(TransportClientConfig.getHttp2ConnectionIdleTimeoutInSeconds())
         .setHttp2MultiplexingLimit(TransportClientConfig.getHttp2MultiplexingLimit())
         .setHttp2MaxPoolSize(TransportClientConfig.getHttp2ConnectionMaxPoolSize())
-        .setTryUseCompression(TransportClientConfig.getConnectionCompression());
+        .setTryUseCompression(TransportClientConfig.getConnectionCompression())
+        .setMaxWaitQueueSize(TransportClientConfig.getMaxWaitQueueSize());
 
     VertxTLSBuilder.buildHttpClientOptions(SSL_KEY, httpClientOptions);
     return httpClientOptions;
diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
index f9f7c14..3acb70b 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
@@ -98,4 +98,11 @@ public final class TransportClientConfig {
         .getIntProperty("servicecomb.rest.client.maxHeaderSize", HttpClientOptions.DEFAULT_MAX_HEADER_SIZE)
         .get();
   }
+
+  public static int getMaxWaitQueueSize(){
+    return DynamicPropertyFactory.getInstance()
+        .getIntProperty("servicecomb.rest.client.maxWaitQueueSize",
+            HttpClientOptions.DEFAULT_MAX_WAIT_QUEUE_SIZE)
+        .get();
+  }
 }
diff --git a/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestTransportClientConfig.java b/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestTransportClientConfig.java
index b3debbe..5e27e1e 100644
--- a/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestTransportClientConfig.java
+++ b/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestTransportClientConfig.java
@@ -87,4 +87,11 @@ public class TestTransportClientConfig {
     ArchaiusUtils.setProperty("servicecomb.rest.client.maxHeaderSize", 1024);
     Assert.assertEquals(1024, TransportClientConfig.getMaxHeaderSize());
   }
+
+  @Test
+  public void getMaxWaitQueueSize() {
+    Assert.assertEquals(-1, TransportClientConfig.getMaxWaitQueueSize());
+    ArchaiusUtils.setProperty("servicecomb.rest.client.maxWaitQueueSize", 1024);
+    Assert.assertEquals(1024, TransportClientConfig.getMaxWaitQueueSize());
+  }
 }