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();