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 <shenglic...@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() {