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 cd5e35bb5 [#4375] Fix local registry not find cross app name alias 
(#4377)
cd5e35bb5 is described below

commit cd5e35bb53029a22ead397d45195d7ad265efeb2
Author: liubao68 <[email protected]>
AuthorDate: Thu Jun 20 09:41:47 2024 +0800

    [#4375] Fix local registry not find cross app name alias (#4377)
---
 .../demo/localRegistryClient/Application.java      |  3 ++
 .../LocalRegistryServerTest.java                   |  9 ++++++
 .../ServerEndpoint.yaml}                           | 36 ++++++++++++++++------
 .../src/main/resources/registry.yaml               | 12 +++++++-
 .../registry/consumer/MicroserviceVersions.java    |  2 +-
 5 files changed, 50 insertions(+), 12 deletions(-)

diff --git 
a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/Application.java
 
b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/Application.java
index c6ed407b0..5c937b674 100644
--- 
a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/Application.java
+++ 
b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/Application.java
@@ -45,6 +45,9 @@ public class Application {
     
RegistrationManager.INSTANCE.getSwaggerLoader().registerSwagger("demo-local-registry",
         "demo-local-registry-server",
         "CodeFirstEndpoint", CodeFirstService.class);
+    
RegistrationManager.INSTANCE.getSwaggerLoader().registerSwagger("demo-local-registry-cross",
+        "demo-local-registry-server-cross",
+        "CodeFirstEndpoint", CodeFirstService.class);
     
RegistrationManager.INSTANCE.getSwaggerLoader().registerSwagger("demo-local-registry",
         "demo-local-registry-server-bean",
         "CodeFirstEndpoint", CodeFirstService.class);
diff --git 
a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
 
b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
index c50508cc0..f914b53ad 100644
--- 
a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
+++ 
b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
@@ -33,6 +33,10 @@ public class LocalRegistryServerTest implements 
CategorizedTestCase {
   @RpcReference(microserviceName = "demo-local-registry-server", schemaId = 
"CodeFirstEndpoint")
   private CodeFirstService codeFirstService;
 
+  @RpcReference(microserviceName = 
"demo-local-registry-cross:demo-local-registry-server-cross",
+      schemaId = "CodeFirstEndpoint")
+  private CodeFirstService codeFirstServiceCross;
+
   @RpcReference(microserviceName = "demo-local-registry-server-bean", schemaId 
= "CodeFirstEndpoint")
   private CodeFirstService codeFirstServiceBean;
 
@@ -62,6 +66,7 @@ public class LocalRegistryServerTest implements 
CategorizedTestCase {
 
   private void testCodeFirstGetName() {
     TestMgr.check("2", codeFirstService.getName("2"));
+    TestMgr.check("2", codeFirstServiceCross.getName("2"));
     TestMgr.check("2", codeFirstServiceBean.getName("2"));
     TestMgr.check("2", codeFirstServiceBean2.getName("2"));
   }
@@ -71,6 +76,10 @@ public class LocalRegistryServerTest implements 
CategorizedTestCase {
     TestMgr.check("2", template
         
.getForObject("cse://demo-local-registry-server/register/url/prefix/getName?name=2",
             String.class));
+    TestMgr.check("2", template
+        .getForObject(
+            
"cse://demo-local-registry-cross:demo-local-registry-server-cross/register/url/prefix/getName?name=2",
+            String.class));
     TestMgr.check("2", template
         
.getForObject("cse://demo-local-registry-server-bean/register/url/prefix/getName?name=2",
             String.class));
diff --git 
a/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
 
b/demo/demo-local-registry/demo-local-registry-client/src/main/resources/applications/demo-local-registry-cross/demo-local-registry-server-cross/ServerEndpoint.yaml
similarity index 62%
copy from 
demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
copy to 
demo/demo-local-registry/demo-local-registry-client/src/main/resources/applications/demo-local-registry-cross/demo-local-registry-server-cross/ServerEndpoint.yaml
index 2ad3c2326..78c9d1bca 100644
--- 
a/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
+++ 
b/demo/demo-local-registry/demo-local-registry-client/src/main/resources/applications/demo-local-registry-cross/demo-local-registry-server-cross/ServerEndpoint.yaml
@@ -15,13 +15,29 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-demo-local-registry-server:
-  - id: "001"
-    version: "1.0"
-    appid: demo-local-registry
-    schemaIds:
-      - ServerEndpoint
-      - CodeFirstEndpoint
-    instances:
-      - endpoints:
-          - rest://localhost:8080
\ No newline at end of file
+swagger: "2.0"
+info:
+  version: "1.0.0"
+  title: "swagger definition for 
org.apache.servicecomb.demo.registry.ServerEndpoint"
+  x-java-interface: "gen.swagger.ServerEndpointIntf"
+basePath: "/register/url/prefix"
+schemes:
+- "http"
+consumes:
+- "application/json"
+produces:
+- "application/json"
+paths:
+  /getName:
+    get:
+      operationId: "getName"
+      parameters:
+      - name: "name"
+        in: "query"
+        required: true
+        type: "string"
+      responses:
+        "200":
+          description: "response of 200"
+          schema:
+            type: "string"
\ No newline at end of file
diff --git 
a/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
 
b/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
index 2ad3c2326..f0e611e56 100644
--- 
a/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
+++ 
b/demo/demo-local-registry/demo-local-registry-client/src/main/resources/registry.yaml
@@ -16,9 +16,19 @@
 ## ---------------------------------------------------------------------------
 
 demo-local-registry-server:
-  - id: "001"
+  - id: "service-001"
     version: "1.0"
     appid: demo-local-registry
+    schemaIds:
+      - ServerEndpoint
+      - CodeFirstEndpoint
+    instances:
+      - endpoints:
+          - rest://localhost:8080
+demo-local-registry-server-cross:
+  - id: "service-002"
+    version: "1.0"
+    appid: demo-local-registry-cross
     schemaIds:
       - ServerEndpoint
       - CodeFirstEndpoint
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/consumer/MicroserviceVersions.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/consumer/MicroserviceVersions.java
index 16744f7bc..99bc20219 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/consumer/MicroserviceVersions.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/consumer/MicroserviceVersions.java
@@ -188,7 +188,7 @@ public class MicroserviceVersions {
 
   protected MicroserviceInstances findServiceInstances() {
     return DiscoveryManager.INSTANCE.findServiceInstances(appId,
-        microserviceName,
+        shortName,
         DefinitionConst.VERSION_RULE_ALL,
         revision);
   }

Reply via email to