You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by vi...@apache.org on 2019/08/29 08:49:48 UTC

[dubbo] 04/08: merge

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

victory pushed a commit to branch cloud-native
in repository https://gitbox.apache.org/repos/asf/dubbo.git

commit e41963b966d6ccc169bbb30df4205762e732e3ba
Merge: 4a21c6b f8288cb
Author: cvictory <sh...@gmail.com>
AuthorDate: Tue Aug 27 09:57:59 2019 +0800

    merge

 .../EtcdDubboServiceConsumerBootstrap.java         |  2 +-
 .../EtcdDubboServiceProviderBootstrap.java         |  6 +-
 .../NacosDubboServiceConsumerBootstrap.java        |  6 +-
 .../NacosDubboServiceProviderBootstrap.java        |  4 +-
 ...=> ZookeeperDubboServiceConsumerBootstrap.java} | 18 ++---
 .../ZookeeperDubboServiceProviderBootstrap.java    | 38 +++++++++
 .../support/nacos/NacosDynamicConfiguration.java   | 71 ++++++++++++++++-
 .../nacos/NacosDynamicConfigurationTest.java       | 13 ++++
 .../registry/client/ServiceDiscoveryRegistry.java  | 52 ++++++-------
 .../metadata/ProtocolPortsMetadataCustomizer.java  | 51 +++++++++++++
 .../metadata/ServiceInstanceMetadataUtils.java     | 89 +++++++++++-----------
 .../StandardMetadataServiceURLBuilder.java         | 14 ++--
 .../client/metadata/URLRevisionResolver.java       | 58 +++++++++++---
 .../metadata/proxy/RemoteMetadataServiceProxy.java | 17 ++++-
 ...dubbo.registry.client.ServiceInstanceCustomizer |  1 +
 dubbo-registry/dubbo-registry-eureka/pom.xml       | 13 ++++
 16 files changed, 333 insertions(+), 120 deletions(-)

diff --cc dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceConsumerBootstrap.java
index e9c9dd2,e9c9dd2..4e815a5
--- a/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceConsumerBootstrap.java
+++ b/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceConsumerBootstrap.java
@@@ -34,7 -34,7 +34,7 @@@ public class EtcdDubboServiceConsumerBo
                  .application("dubbo-consumer-demo")
                  // Zookeeper
                  .protocol(builder -> builder.port(20887).name("dubbo"))
--                .registry("etcd3", builder -> builder.address("etcd3://127.0.0.1:2379?registry.type=service&subscribed.services=dubbo-provider-demo"))
++                .registry("etcd3", builder -> builder.address("etcd3://127.0.0.1:2379?registry-type=service&subscribed-services=dubbo-provider-demo"))
                  .metadataReport(new MetadataReportConfig("etcd://127.0.0.1:2379"))
                  // Nacos
  //                .registry("consul", builder -> builder.address("consul://127.0.0.1:8500?registry.type=service&subscribed.services=dubbo-provider-demo").group("namespace1"))
diff --cc dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceProviderBootstrap.java
index 9a59273,9a59273..8a7501a
--- a/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceProviderBootstrap.java
+++ b/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/EtcdDubboServiceProviderBootstrap.java
@@@ -49,7 -49,7 +49,7 @@@ public class EtcdDubboServiceProviderBo
  
          RegistryConfig serviceRegistry = new RegistryConfig();
          serviceRegistry.setId("serviceRegistry");
--        serviceRegistry.setAddress("etcd3://127.0.0.1:2379?registry.type=service");
++        serviceRegistry.setAddress("etcd3://127.0.0.1:2379?registry-type=service");
  
          ServiceConfig<EchoService> echoService = new ServiceConfig<>();
          echoService.setInterface(EchoService.class.getName());
@@@ -63,7 -63,7 +63,7 @@@
  //        userService.setRegistries(Arrays.asList(interfaceRegistry, serviceRegistry));
  
          ApplicationConfig applicationConfig = new ApplicationConfig("dubbo-provider-demo");
--        applicationConfig.setMetadataType("remote");
++//        applicationConfig.setMetadataType("remote");
          new DubboBootstrap()
                  .application(applicationConfig)
                  // Zookeeper in service registry type
@@@ -73,7 -73,7 +73,7 @@@
                  .registries(Arrays.asList(interfaceRegistry, serviceRegistry))
  //                .registry(RegistryBuilder.newBuilder().address("consul://127.0.0.1:8500?registry.type=service").build())
                  .protocol(builder -> builder.port(-1).name("dubbo"))
--                .metadataReport(new MetadataReportConfig("etcd://127.0.0.1:2379"))
++//                .metadataReport(new MetadataReportConfig("etcd://127.0.0.1:2379"))
                  .service(echoService)
                  .service(userService)
                  .start()
diff --cc dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/NacosDubboServiceConsumerBootstrap.java
index 69f430c,aeb8eb7..551a46d
--- a/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/NacosDubboServiceConsumerBootstrap.java
+++ b/dubbo-bootstrap/src/test/java/org/apache/dubbo/bootstrap/NacosDubboServiceConsumerBootstrap.java
@@@ -36,8 -36,7 +36,8 @@@ public class NacosDubboServiceConsumerB
          new DubboBootstrap()
                  .application(applicationConfig)
                  // Zookeeper
-                 .registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?registry.type=service&subscribed.services=dubbo-nacos-provider-demo"))
- //                .metadataReport(new MetadataReportConfig("nacos://127.0.0.1:8848"))
++//                .registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?registry.type=service&subscribed.services=dubbo-nacos-provider-demo"))
+                 .registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?registry-type=service&subscribed-services=dubbo-nacos-provider-demo"))
                  .metadataReport(new MetadataReportConfig("nacos://127.0.0.1:8848"))
                  // Nacos
  //                .registry("consul", builder -> builder.address("consul://127.0.0.1:8500?registry.type=service&subscribed.services=dubbo-provider-demo").group("namespace1"))
diff --cc dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/proxy/RemoteMetadataServiceProxy.java
index 3f1745d,3f1745d..3b0cd2e
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/proxy/RemoteMetadataServiceProxy.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/proxy/RemoteMetadataServiceProxy.java
@@@ -25,12 -25,12 +25,12 @@@ public class RemoteMetadataServiceProx
      protected final Logger logger = LoggerFactory.getLogger(getClass());
  
      private String serviceName;
--    // FIXME this is provider revison. it also need consumer revison.
      private String revision;
  
  
      public RemoteMetadataServiceProxy(ServiceInstance serviceInstance) {
          this.serviceName = serviceInstance.getServiceName();
++        // this is ServiceInstance of registry(Provider)
          this.revision = serviceInstance.getMetadata()
                  .getOrDefault(ServiceInstanceMetadataUtils.EXPORTED_SERVICES_REVISION_PROPERTY_NAME, "");
      }
@@@ -40,7 -40,7 +40,6 @@@
          return serviceName;
      }
  
--    // TODO, protocol should be used
      @Override
      public SortedSet<String> getExportedURLs(String serviceInterface, String group, String version, String protocol) {
          return toSortedStrings(getMetadataReport().getExportedURLs(
@@@ -60,8 -60,8 +59,18 @@@
      @Override
      public String getServiceDefinition(String serviceKey) {
          String[] services = UrlUtils.parseServiceKey(serviceKey);
--        return getMetadataReport().getServiceDefinition(new MetadataIdentifier(services[1],
--                services[0], services[2], PROVIDER_SIDE, serviceName));
++        String serviceInterface = services[0];
++        // if version or group is not exist
++        String version = null;
++        if (services.length > 1) {
++            version = services[1];
++        }
++        String group = null;
++        if (services.length > 2) {
++            group = services[2];
++        }
++        return getMetadataReport().getServiceDefinition(new MetadataIdentifier(serviceInterface,
++                version, group, PROVIDER_SIDE, serviceName));
      }
  
      MetadataReport getMetadataReport() {