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

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


The following commit(s) were added to refs/heads/2.8.x by this push:
     new 07ccddcd2 [#4074] optimize cors model init failed unclear prompt 
problem. (#4095)
07ccddcd2 is described below

commit 07ccddcd2e9496ce103133dde77d875e1c0609e7
Author: Cheng YouLing <[email protected]>
AuthorDate: Thu Dec 7 10:15:30 2023 +0800

    [#4074] optimize cors model init failed unclear prompt problem. (#4095)
---
 .../apache/servicecomb/foundation/vertx/VertxUtils.java   | 12 ++++++------
 .../servicecomb/transport/highway/HighwayClient.java      |  6 +++++-
 .../servicecomb/transport/highway/HighwayTransport.java   |  8 +++++++-
 .../servicecomb/transport/highway/TestHighwayClient.java  | 15 +++++++++++----
 .../transport/rest/vertx/VertxRestTransport.java          |  9 ++++++++-
 .../transport/rest/vertx/TestVertxRestTransport.java      |  8 ++++++--
 6 files changed, 43 insertions(+), 15 deletions(-)

diff --git 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxUtils.java
 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxUtils.java
index 5cc68f13d..b9db0621a 100644
--- 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxUtils.java
+++ 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxUtils.java
@@ -20,13 +20,13 @@ package org.apache.servicecomb.foundation.vertx;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.management.ManagementFactory;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.servicecomb.foundation.common.Holder;
 import org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx;
 import org.apache.servicecomb.foundation.vertx.client.ClientPoolManager;
 import org.apache.servicecomb.foundation.vertx.client.ClientVerticle;
@@ -85,16 +85,16 @@ public final class VertxUtils {
   }
 
   // deploy Verticle and wait for its success. do not call this method in 
event-loop thread
-  public static <VERTICLE extends Verticle> boolean blockDeploy(Vertx vertx,
+  public static <VERTICLE extends Verticle> Map<String, Object> 
blockDeploy(Vertx vertx,
       Class<VERTICLE> cls,
       DeploymentOptions options) throws InterruptedException {
-    Holder<Boolean> result = new Holder<>();
+    Map<String, Object> result = new HashMap<>();
 
     CountDownLatch latch = new CountDownLatch(1);
     vertx.deployVerticle(cls.getName(), options, ar -> {
-      result.value = ar.succeeded();
-
+      result.put("code", ar.succeeded());
       if (ar.failed()) {
+        result.put("message", ar.cause().getMessage());
         LOGGER.error("deploy vertx failed, cause ", ar.cause());
       }
 
@@ -103,7 +103,7 @@ public final class VertxUtils {
 
     latch.await();
 
-    return result.value;
+    return result;
   }
 
   public static Vertx getOrCreateVertxByName(String name, VertxOptions 
vertxOptions) {
diff --git 
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
 
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
index 3e0f98bf5..4afe98a1f 100644
--- 
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
+++ 
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
@@ -17,6 +17,7 @@
 
 package org.apache.servicecomb.transport.highway;
 
+import java.util.Map;
 import java.util.concurrent.TimeoutException;
 
 import javax.ws.rs.core.Response.Status;
@@ -63,7 +64,10 @@ public class HighwayClient {
 
     DeploymentOptions deployOptions = 
VertxUtils.createClientDeployOptions(clientMgr,
         HighwayConfig.getClientThreadCount());
-    VertxUtils.blockDeploy(vertx, ClientVerticle.class, deployOptions);
+    Map<String, Object> result = VertxUtils.blockDeploy(vertx, 
ClientVerticle.class, deployOptions);
+    if (!(boolean) result.get("code")) {
+      throw new IllegalStateException((String) result.get("message"));
+    }
   }
 
   @VisibleForTesting
diff --git 
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayTransport.java
 
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayTransport.java
index b283b568c..f40ff86b1 100644
--- 
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayTransport.java
+++ 
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayTransport.java
@@ -18,6 +18,7 @@
 package org.apache.servicecomb.transport.highway;
 
 import java.util.Collections;
+import java.util.Map;
 
 import org.apache.servicecomb.core.Const;
 import org.apache.servicecomb.core.Invocation;
@@ -47,7 +48,12 @@ public class HighwayTransport extends AbstractTransport {
     json.put(ENDPOINT_KEY, getEndpoint());
     deployOptions.setConfig(json);
     deployOptions.setWorkerPoolName("pool-worker-transport-highway");
-    return VertxUtils.blockDeploy(transportVertx, HighwayServerVerticle.class, 
deployOptions);
+    Map<String, Object> result = VertxUtils.blockDeploy(transportVertx, 
HighwayServerVerticle.class, deployOptions);
+    if ((boolean) result.get("code")) {
+      return true;
+    } else {
+      throw new IllegalStateException((String) result.get("message"));
+    }
   }
 
   @Override
diff --git 
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
 
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
index ee3c63148..43db61433 100644
--- 
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
+++ 
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
@@ -17,6 +17,9 @@
 
 package org.apache.servicecomb.transport.highway;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import javax.ws.rs.core.Response.Status;
 
 import org.apache.servicecomb.codec.protobuf.definition.OperationProtobuf;
@@ -97,10 +100,12 @@ public class TestHighwayClient {
   public void testHighwayClientSSL(@Mocked Vertx vertx) throws Exception {
     new MockUp<VertxUtils>() {
       @Mock
-      <VERTICLE extends AbstractVerticle> boolean blockDeploy(Vertx vertx,
+      <VERTICLE extends AbstractVerticle> Map<String, Object> 
blockDeploy(Vertx vertx,
           Class<VERTICLE> cls,
           DeploymentOptions options) {
-        return true;
+        Map<String, Object> result = new HashMap<>();
+        result.put("code", true);
+        return result;
       }
     };
 
@@ -114,10 +119,12 @@ public class TestHighwayClient {
       Object decodedResponse) throws Exception {
     new MockUp<VertxUtils>() {
       @Mock
-      <VERTICLE extends AbstractVerticle> boolean blockDeploy(Vertx vertx,
+      <VERTICLE extends AbstractVerticle> Map<String, Object> 
blockDeploy(Vertx vertx,
           Class<VERTICLE> cls,
           DeploymentOptions options) {
-        return true;
+        Map<String, Object> result = new HashMap<>();
+        result.put("code", true);
+        return result;
       }
     };
 
diff --git 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestTransport.java
 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestTransport.java
index 3267bf28a..267fd708f 100644
--- 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestTransport.java
+++ 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestTransport.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.transport.rest.vertx;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.servicecomb.core.Const;
 import org.apache.servicecomb.core.Invocation;
@@ -105,7 +106,13 @@ public class VertxRestTransport extends AbstractTransport {
     options.setWorkerPoolSize(VertxOptions.DEFAULT_WORKER_POOL_SIZE);
 
     prepareBlockResource();
-    return VertxUtils.blockDeploy(transportVertx, 
TransportConfig.getRestServerVerticle(), options);
+    Map<String, Object> result = VertxUtils.blockDeploy(transportVertx, 
TransportConfig.getRestServerVerticle(),
+        options);
+    if ((boolean) result.get("code")) {
+      return true;
+    } else {
+      throw new IllegalStateException((String) result.get("message"));
+    }
   }
 
   private void prepareBlockResource() {
diff --git 
a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
 
b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
index dbe6cae4e..9a5f43f6f 100644
--- 
a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
+++ 
b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
@@ -19,6 +19,8 @@ package org.apache.servicecomb.transport.rest.vertx;
 
 import java.io.IOException;
 import java.net.ServerSocket;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.servicecomb.core.Endpoint;
 import org.apache.servicecomb.core.Invocation;
@@ -62,9 +64,11 @@ public class TestVertxRestTransport {
         }
 
         @Mock
-        public <VERTICLE extends AbstractVerticle> boolean blockDeploy(Vertx 
vertx, Class<VERTICLE> cls,
+        public <VERTICLE extends AbstractVerticle> Map<String, Object> 
blockDeploy(Vertx vertx, Class<VERTICLE> cls,
             DeploymentOptions options) throws InterruptedException {
-          return true;
+          Map<String, Object> result = new HashMap<>();
+          result.put("code", true);
+          return result;
         }
       };
       instance.init();

Reply via email to