You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2019/05/20 18:30:36 UTC
[servicecomb-java-chassis] branch master updated:
[SCB-1287]refactor edge dispatcher to make them more extensible
This is an automated email from the ASF dual-hosted git repository.
wujimin 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 7d01439 [SCB-1287]refactor edge dispatcher to make them more extensible
7d01439 is described below
commit 7d0143984e1013684a368ce38baf89a9765d7ad1
Author: liubao <ba...@huawei.com>
AuthorDate: Fri May 17 12:03:42 2019 +0800
[SCB-1287]refactor edge dispatcher to make them more extensible
---
.../java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java | 4 ++++
.../java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java | 2 +-
.../org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java | 2 +-
.../apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java | 4 ++--
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java
index 689da10..7cdc43e 100644
--- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java
+++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java
@@ -34,6 +34,10 @@ import io.vertx.ext.web.RoutingContext;
public abstract class AbstractEdgeDispatcher extends AbstractVertxHttpDispatcher {
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractEdgeDispatcher.class);
+ protected EdgeInvocation createEdgeInvocation() {
+ return new EdgeInvocation();
+ }
+
protected void onFailure(RoutingContext context) {
LOGGER.error("edge server failed.", context.failure());
HttpServerResponse response = context.response();
diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java
index 20ecb21..b6eadfe 100644
--- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java
+++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java
@@ -76,7 +76,7 @@ public class DefaultEdgeDispatcher extends AbstractEdgeDispatcher {
String microserviceName = pathParams.get("param0");
String path = Utils.findActualPath(context.request().path(), prefixSegmentCount);
- EdgeInvocation edgeInvocation = new EdgeInvocation();
+ EdgeInvocation edgeInvocation = createEdgeInvocation();
if (withVersion) {
String pathVersion = pathParams.get("param1");
edgeInvocation.setVersionRule(versionMapper.getOrCreate(pathVersion).getVersionRule());
diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java
index f8c1695..5f9cfb7 100644
--- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java
+++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java
@@ -151,7 +151,7 @@ public class URLMappedEdgeDispatcher extends AbstractEdgeDispatcher {
String path = Utils.findActualPath(context.request().path(), configurationItem.prefixSegmentCount);
- EdgeInvocation edgeInvocation = new EdgeInvocation();
+ EdgeInvocation edgeInvocation = createEdgeInvocation();
if (configurationItem.versionRule != null) {
edgeInvocation.setVersionRule(configurationItem.versionRule);
}
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java
index 20f70bd..b90bc78 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java
@@ -68,7 +68,7 @@ public class VertxRestDispatcher extends AbstractVertxHttpDispatcher {
router.route().failureHandler(this::failureHandler).handler(this::onRequest);
}
- private void failureHandler(RoutingContext context) {
+ protected void failureHandler(RoutingContext context) {
LOGGER.error("http server failed.", context.failure());
AbstractRestInvocation restProducerInvocation = context.get(RestConst.REST_PRODUCER_INVOCATION);
@@ -182,7 +182,7 @@ public class VertxRestDispatcher extends AbstractVertxHttpDispatcher {
context.response().close();
}
- private void onRequest(RoutingContext context) {
+ protected void onRequest(RoutingContext context) {
if (transport == null) {
transport = CseContext.getInstance().getTransportManager().findTransport(Const.RESTFUL);
}