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 2018/11/14 10:50:10 UTC
[incubator-dubbo] branch dev-metadata updated (bdfc500 -> 21b4334)
This is an automated email from the ASF dual-hosted git repository.
victory pushed a change to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git.
from bdfc500 Fix NPE in TagRouter
add e572f15 merge from base
add 678b3fd Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add fd36193 add metadata master flow
add d3d6025 modify apache license
add 1aa9138 new pull
add 98021af Merge branch 'dev-metadata' into dev-metadata
add 653f5e4 new pull
add cd13f62 new pull
add bab12d2 new pull
add d93515a fix review issue: english comments and class format
add 5ab51cf Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 5fcfbce Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 0cb75df Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 1af7240 modify data store
add f532ffd add redis service store support
add 98daa43 add test
add d695b5e add test on serviceStore and serviceStoreFactory
add f8a9315 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add fe8380f add classinfo collect
add 9f6f0f5 add serviceStoreService test and modify the code
add 6f86a8e add tests
add 0dac06e add unit test
add 336ffd1 add unit test
add 00513f8 zk and redis unit test and fix some bug
add 5e3415f fix review issue
add d3469fd delete class
add 462337f remove author
add 1dc5d35 remove author
add a69bc0a Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 695d9f8 move getKey from RedisServiceStore to AbstractServiceStore; modify demo consumer url
add 10b2af4 modify dubbo configuration key
add 876b9d6 merge from dev-metadata
add 5194066 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add a97bf43 renew the module name, package name, class name
add 604439a Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 0a29783 refactor AbstractMetadataReport
add 1e6800b seperate retry from AbstractMetadataReport
add ca649e3 rename the serviceStore to metadataReport; default MetadataReportFactory to redis
add f1ea451 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 8416db1 refactor the interface and import jaket source
add 2a8986a refactor the interface and import jaket source
add 801eb73 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 26f01c9 modify servicestore and refactory abstractMetadataReport
add 10bca19 add simple registry switch and metadata retry switch
add a4db979 add simple registry switch and metadata retry switch
add 6f90215 fix compiler issue
add 033b58e remove the group of registry from demo-provider
add 8600ae4 remove dependent and import
add a41930e merge dev-metadata
add 61bdd46 make demo work
add 90a9134 merge dev-metadata from upstream and refactor zk store
add 6b4bae0 merge dev-metadata and add unit test
add 9d37574 remove origin metadata code , add new metadata test, add generic test for metadata
add c064b0a Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
add 8f498c9 if no metadata config address, config the log level to warn
new bc9cf99 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
new c5bc3bc Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
new d8db928 fix :dubbo.properties cannot work on MetadataReportConfig
new efacb58 Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
new 29ef73f refactor the simplified, add some unit test, fix issue.
new 21b4334 Merge branch 'dev-metadata' of github.com:apache/incubator-dubbo into dev-metadata
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/org/apache/dubbo/common/Constants.java | 6 +-
.../src/main/java/org/apache/dubbo/common/URL.java | 8 +-
.../dubbo/config/RegistryDataConfigTest.java | 87 ++++++++++++++++++++++
.../dubbo/config/AbstractInterfaceConfig.java | 5 +-
.../apache/dubbo/config/RegistryDataConfig.java | 2 +-
.../annotation/DubboConfigConfiguration.java | 6 +-
.../src/main/resources/META-INF/compat/dubbo.xsd | 20 ++---
.../src/main/resources/META-INF/dubbo.xsd | 20 ++---
.../META-INF/spring/dubbo-demo-provider.xml | 2 +-
.../registry/integration/RegistryProtocol.java | 25 ++-----
.../dubbo/registry/dubbo/RegistryProtocolTest.java | 11 ---
.../registry/integration/RegistryProtocolTest.java | 23 ++++++
12 files changed, 156 insertions(+), 59 deletions(-)
create mode 100644 dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
create mode 100644 dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/integration/RegistryProtocolTest.java
[incubator-dubbo] 01/06: Merge branch 'dev-metadata' of
https://github.com/apache/incubator-dubbo into dev-metadata
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit bc9cf99edb51e39c9bb89cd49a0611e7775dafb0
Merge: 8f498c9 072b51e
Author: cvictory <sh...@gmail.com>
AuthorDate: Tue Nov 6 17:33:58 2018 +0800
Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
[incubator-dubbo] 05/06: refactor the simplified, add some unit test,
fix issue.
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit 29ef73f1b122768ddf446bdfb814e815aef3efc9
Author: cvictory <sh...@gmail.com>
AuthorDate: Wed Nov 14 18:41:45 2018 +0800
refactor the simplified, add some unit test, fix issue.
---
.../java/org/apache/dubbo/common/Constants.java | 6 +-
.../src/main/java/org/apache/dubbo/common/URL.java | 8 +-
.../dubbo/config/RegistryDataConfigTest.java | 87 ++++++++++++++++++++++
.../dubbo/config/AbstractInterfaceConfig.java | 5 +-
.../apache/dubbo/config/RegistryDataConfig.java | 2 +-
.../annotation/DubboConfigConfiguration.java | 2 +
.../src/main/resources/META-INF/compat/dubbo.xsd | 20 ++---
.../src/main/resources/META-INF/dubbo.xsd | 20 ++---
.../META-INF/spring/dubbo-demo-provider.xml | 2 +-
.../registry/integration/RegistryProtocol.java | 25 ++-----
.../dubbo/registry/dubbo/RegistryProtocolTest.java | 11 ---
.../registry/integration/RegistryProtocolTest.java | 23 ++++++
12 files changed, 153 insertions(+), 58 deletions(-)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
index a4b64ca..be9a8fc 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
@@ -711,8 +711,10 @@ public class Constants {
public static final String CYCLE_REPORT_KEY = "cyclereport";
- public static final String[] EXCHANGING_KEYS = {APPLICATION_KEY, CODEC_KEY, EXCHANGER_KEY, SERIALIZATION_KEY, CLUSTER_KEY, CONNECTIONS_KEY, DEPRECATED_KEY,
- GROUP_KEY, LOADBALANCE_KEY, MOCK_KEY, PATH_KEY, TIMEOUT_KEY, TOKEN_KEY, VERSION_KEY, WARMUP_KEY, WEIGHT_KEY, TIMESTAMP_KEY};
+ public static final String[] DEFAULT_REGISTER_PROVIDER_KEYS = {APPLICATION_KEY, CODEC_KEY, EXCHANGER_KEY, SERIALIZATION_KEY, CLUSTER_KEY, CONNECTIONS_KEY, DEPRECATED_KEY,
+ GROUP_KEY, LOADBALANCE_KEY, MOCK_KEY, PATH_KEY, TIMEOUT_KEY, TOKEN_KEY, VERSION_KEY, WARMUP_KEY, WEIGHT_KEY, TIMESTAMP_KEY, DUBBO_VERSION_KEY};
+
+ public static final String[] DEFAULT_REGISTER_CONSUMER_KEYS = {APPLICATION_KEY, VERSION_KEY, GROUP_KEY, DUBBO_VERSION_KEY};
/*
* private Constants(){ }
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/URL.java b/dubbo-common/src/main/java/org/apache/dubbo/common/URL.java
index f739715..b0396bd 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/URL.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/URL.java
@@ -279,8 +279,8 @@ public /**final**/ class URL implements Serializable {
Map<String, String> oldMap = url.getParameters();
if (reserveParamPrefixs != null && reserveParamPrefixs.length != 0) {
for (Map.Entry<String, String> entry : oldMap.entrySet()) {
- for (String reserveParamPrefix : reserveParamPrefixs){
- if (entry.getKey().startsWith(reserveParamPrefix) && StringUtils.isNotEmpty(entry.getValue())){
+ for (String reserveParamPrefix : reserveParamPrefixs) {
+ if (entry.getKey().startsWith(reserveParamPrefix) && StringUtils.isNotEmpty(entry.getValue())) {
newMap.put(entry.getKey(), entry.getValue());
}
}
@@ -295,8 +295,8 @@ public /**final**/ class URL implements Serializable {
}
}
}
-
- return newMap.isEmpty() ? url : url.clearParameters().addParameters(newMap);
+ return newMap.isEmpty() ? new URL(url.getProtocol(), url.getUsername(), url.getPassword(), url.getHost(), url.getPort(), url.getPath())
+ : new URL(url.getProtocol(), url.getUsername(), url.getPassword(), url.getHost(), url.getPort(), url.getPath(), newMap);
}
public static String encode(String value) {
diff --git a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
new file mode 100644
index 0000000..bca6f72
--- /dev/null
+++ b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
@@ -0,0 +1,87 @@
+package org.apache.dubbo.config;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Map;
+
+/**
+ * @author cvictory ON 2018/11/14
+ */
+public class RegistryDataConfigTest {
+
+ @Test
+ public void testProviderNoValue(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleProviderUrl(false);
+ registryDataConfig.setExtraProviderUrlParamKeys("xxx,sss");
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertTrue(result.isEmpty());
+ }
+
+ @Test
+ public void testProviderNoParamKey(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleProviderUrl(true);
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertFalse(result.isEmpty());
+ Assert.assertEquals(result.get("simpleProviderUrl"), "true");
+ Assert.assertNull(result.get("extraProviderUrlParamKeys"));
+ }
+
+ @Test
+ public void testProviderHasParamKey(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleProviderUrl(true);
+ registryDataConfig.setExtraProviderUrlParamKeys("xxx,sss");
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertFalse(result.isEmpty());
+ Assert.assertEquals(result.get("simpleProviderUrl"), "true");
+ Assert.assertEquals(result.get("extraProviderUrlParamKeys"), "xxx,sss");
+ }
+
+ @Test
+ public void testConsumerNoValue(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleConsumerUrl(false);
+ registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertTrue(result.isEmpty());
+ }
+
+ @Test
+ public void testConsumerNoParamKey(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleConsumerUrl(true);
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertFalse(result.isEmpty());
+ Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
+ Assert.assertNull(result.get("extraConsumerUrlParamKeys"));
+ }
+
+ @Test
+ public void testConsumerHasParamKey(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleConsumerUrl(true);
+ registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertFalse(result.isEmpty());
+ Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
+ Assert.assertEquals(result.get("extraConsumerUrlParamKeys"), "xxx,sss");
+ }
+
+ @Test
+ public void testMixHasParamKey(){
+ RegistryDataConfig registryDataConfig = new RegistryDataConfig();
+ registryDataConfig.setSimpleConsumerUrl(true);
+ registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
+ registryDataConfig.setSimpleProviderUrl(true);
+ registryDataConfig.setExtraProviderUrlParamKeys("yyy,xxx");
+ Map<String,String> result = registryDataConfig.transferToMap();
+ Assert.assertTrue(result.size() == 4);
+ Assert.assertEquals(result.get("simpleProviderUrl"), "true");
+ Assert.assertEquals(result.get("extraProviderUrlParamKeys"), "yyy,xxx");
+ Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
+ Assert.assertEquals(result.get("extraConsumerUrlParamKeys"), "xxx,sss");
+ }
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index 6e41fe6..a1363d6 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@ -202,7 +202,7 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
checkRegistry();
List<URL> registryList = new ArrayList<URL>();
if (registries != null && !registries.isEmpty()) {
- Map<String, String> registryDataConfigurationMap = this.registryDataConfig.transferMap();
+ Map<String, String> registryDataConfigurationMap = this.registryDataConfig.transferToMap();
for (RegistryConfig config : registries) {
String address = config.getAddress();
if (address == null || address.length() == 0) {
@@ -227,7 +227,8 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
for (URL url : urls) {
url = url.addParameter(Constants.REGISTRY_KEY, url.getProtocol());
url = url.setProtocol(Constants.REGISTRY_PROTOCOL);
- url.addParameters(registryDataConfigurationMap);
+ // add parameter
+ url = url.addParametersIfAbsent(registryDataConfigurationMap);
if ((provider && url.getParameter(Constants.REGISTER_KEY, true))
|| (!provider && url.getParameter(Constants.SUBSCRIBE_KEY, true))) {
registryList.add(url);
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
index 3ccaab5..21d57ec 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
@@ -33,7 +33,7 @@ public class RegistryDataConfig extends AbstractConfig {
private boolean simpleConsumerUrl;
private String extraConsumerUrlParamKeys;
- public Map<String, String> transferMap() {
+ public Map<String, String> transferToMap() {
Map<String, String> map = new HashMap<String, String>(4);
if (simpleProviderUrl) {
map.put(Constants.SIMPLE_PROVIDER_URL_KEY, Boolean.TRUE.toString());
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
index 1424e86..e154baf 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
@@ -25,6 +25,7 @@ import org.apache.dubbo.config.MonitorConfig;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.ProviderConfig;
import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.RegistryDataConfig;
import org.apache.dubbo.config.spring.ConfigCenterBean;
import org.springframework.context.annotation.Configuration;
@@ -58,6 +59,7 @@ public class DubboConfigConfiguration {
@EnableDubboConfigBinding(prefix = "dubbo.provider", type = ProviderConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.consumer", type = ConsumerConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.configcenter", type = ConfigCenterBean.class),
+ @EnableDubboConfigBinding(prefix = "dubbo.registrydata", type = RegistryDataConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.metadatareport", type = MetadataReportConfig.class)
})
public static class Single {
diff --git a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
index 9810969..807f7a7 100644
--- a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
+++ b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
@@ -550,16 +550,16 @@
<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute name="simple" type="xsd:boolean">
- <xsd:annotation>
- <xsd:documentation><![CDATA[ Is simple. ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="plusparamkeys" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[ Addtional Parameter Keys. ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
+ <!--<xsd:attribute name="simple" type="xsd:boolean">-->
+ <!--<xsd:annotation>-->
+ <!--<xsd:documentation><![CDATA[ Is simple. ]]></xsd:documentation>-->
+ <!--</xsd:annotation>-->
+ <!--</xsd:attribute>-->
+ <!--<xsd:attribute name="plusparamkeys" type="xsd:string">-->
+ <!--<xsd:annotation>-->
+ <!--<xsd:documentation><![CDATA[ Addtional Parameter Keys. ]]></xsd:documentation>-->
+ <!--</xsd:annotation>-->
+ <!--</xsd:attribute>-->
</xsd:complexType>
<xsd:complexType name="metadataReportType">
diff --git a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
index b2ff6cb..d4f47db 100644
--- a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
+++ b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
@@ -544,16 +544,16 @@
<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute name="simple" type="xsd:boolean">
- <xsd:annotation>
- <xsd:documentation><![CDATA[ Is simple. ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="plusparamkeys" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[ Addtional Parameter Keys. ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
+ <!--<xsd:attribute name="simple" type="xsd:boolean">-->
+ <!--<xsd:annotation>-->
+ <!--<xsd:documentation><![CDATA[ Is simple. ]]></xsd:documentation>-->
+ <!--</xsd:annotation>-->
+ <!--</xsd:attribute>-->
+ <!--<xsd:attribute name="plusparamkeys" type="xsd:string">-->
+ <!--<xsd:annotation>-->
+ <!--<xsd:documentation><![CDATA[ Addtional Parameter Keys. ]]></xsd:documentation>-->
+ <!--</xsd:annotation>-->
+ <!--</xsd:attribute>-->
</xsd:complexType>
<xsd:complexType name="metadataReportType">
diff --git a/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml b/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
index 7af535e..5f0d473 100644
--- a/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
+++ b/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
@@ -25,7 +25,7 @@
<dubbo:application name="demo-provider"/>
<!--<dubbo:provider tag="tag3"/>-->
- <dubbo:registry group="dubboregistrygroup1" address="zookeeper://127.0.0.1:2181" simple="false">
+ <dubbo:registry group="dubboregistrygroup1" address="zookeeper://127.0.0.1:2181">
</dubbo:registry>
<dubbo:configcenter type="zookeeper" address="127.0.0.1:2181" namespace="dubboregistrygroup1"
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 4fbf5c9..957fdc3 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -59,7 +59,6 @@ import java.util.stream.Collectors;
import static org.apache.dubbo.common.Constants.ACCEPT_FOREIGN_IP;
import static org.apache.dubbo.common.Constants.APPLICATION_KEY;
import static org.apache.dubbo.common.Constants.CONFIGURATORS_SUFFIX;
-import static org.apache.dubbo.common.Constants.EXCHANGING_KEYS;
import static org.apache.dubbo.common.Constants.EXPORT_KEY;
import static org.apache.dubbo.common.Constants.INTERFACES;
import static org.apache.dubbo.common.Constants.METHODS_KEY;
@@ -259,17 +258,10 @@ public class RegistryProtocol implements Protocol {
//The address you see at the registry
if (!registryUrl.getParameter(Constants.SIMPLE_PROVIDER_URL_KEY, false)) {
final URL registedProviderUrl = providerUrl.removeParameters(getFilteredKeys(providerUrl))
- .removeParameter(Constants.MONITOR_KEY)
- .removeParameter(Constants.BIND_IP_KEY)
- .removeParameter(Constants.BIND_PORT_KEY)
- .removeParameter(QOS_ENABLE)
- .removeParameter(QOS_PORT)
- .removeParameter(ACCEPT_FOREIGN_IP)
- .removeParameter(VALIDATION_KEY)
- .removeParameter(INTERFACES);
+ .removeParameters(Constants.MONITOR_KEY, Constants.BIND_IP_KEY, Constants.BIND_PORT_KEY, QOS_ENABLE, QOS_PORT, ACCEPT_FOREIGN_IP, VALIDATION_KEY, INTERFACES);
return registedProviderUrl;
} else {
- return URL.valueOf(providerUrl, getParamsToRegistry(registryUrl.getParameter(Constants.EXTRA_PROVIDER_URL_PARAM_KEYS_KEY, new String[0])), providerUrl.getParameter(METHODS_KEY, (String[]) null));
+ return URL.valueOf(providerUrl, getParamsToRegistry(Constants.DEFAULT_REGISTER_PROVIDER_KEYS, registryUrl.getParameter(Constants.EXTRA_PROVIDER_URL_PARAM_KEYS_KEY, new String[0])), providerUrl.getParameter(METHODS_KEY, (String[]) null));
}
}
@@ -342,7 +334,7 @@ public class RegistryProtocol implements Protocol {
URL subscribeUrl = new URL(Constants.CONSUMER_PROTOCOL, parameters.remove(Constants.REGISTER_IP_KEY), 0, type.getName(), parameters);
if (!Constants.ANY_VALUE.equals(url.getServiceInterface())
&& url.getParameter(Constants.REGISTER_KEY, true)) {
- registry.register(getRegistedConsumerUrl(subscribeUrl, directory.getUrl()));
+ registry.register(getRegistedConsumerUrl(subscribeUrl, url));
}
directory.subscribe(subscribeUrl.addParameter(Constants.CATEGORY_KEY,
Constants.PROVIDERS_CATEGORY
@@ -359,18 +351,17 @@ public class RegistryProtocol implements Protocol {
return consumerUrl.addParameters(Constants.CATEGORY_KEY, Constants.CONSUMERS_CATEGORY,
Constants.CHECK_KEY, String.valueOf(false));
} else {
- return URL.valueOf(consumerUrl, getParamsToRegistry(registryUrl
- .getParameter(Constants.EXTRA_CONSUMER_URL_PARAM_KEYS_KEY, new String[0])), consumerUrl.getParameter(METHODS_KEY, (String[]) null))
+ return URL.valueOf(consumerUrl, getParamsToRegistry(Constants.DEFAULT_REGISTER_CONSUMER_KEYS, registryUrl.getParameter(Constants.EXTRA_CONSUMER_URL_PARAM_KEYS_KEY, new String[0])), null)
.addParameters(Constants.CATEGORY_KEY, Constants.CONSUMERS_CATEGORY, Constants.CHECK_KEY, String.valueOf(false));
}
}
// available to test
- public String[] getParamsToRegistry(String[] addionalParameterKeys) {
+ String[] getParamsToRegistry(String[] defaultKeys, String[] addionalParameterKeys) {
int additionalLen = addionalParameterKeys.length;
- String[] registryParams = new String[EXCHANGING_KEYS.length + additionalLen];
- System.arraycopy(EXCHANGING_KEYS, 0, registryParams, 0, EXCHANGING_KEYS.length);
- System.arraycopy(addionalParameterKeys, 0, registryParams, EXCHANGING_KEYS.length, additionalLen);
+ String[] registryParams = new String[defaultKeys.length + additionalLen];
+ System.arraycopy(defaultKeys, 0, registryParams, 0, defaultKeys.length);
+ System.arraycopy(addionalParameterKeys, 0, registryParams, defaultKeys.length, additionalLen);
return registryParams;
}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/dubbo/RegistryProtocolTest.java b/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/dubbo/RegistryProtocolTest.java
index 855a010..819f292 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/dubbo/RegistryProtocolTest.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/dubbo/RegistryProtocolTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.dubbo.registry.dubbo;
-import org.apache.commons.lang3.ArrayUtils;
import org.apache.dubbo.common.Constants;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.extension.ExtensionLoader;
@@ -40,7 +39,6 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
-import static org.apache.dubbo.common.Constants.EXCHANGING_KEYS;
import static org.junit.Assert.assertEquals;
/**
@@ -59,15 +57,6 @@ public class RegistryProtocolTest {
final private Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();
@Test
- public void testGetParamsToRegistry() {
- RegistryProtocol registryProtocol = new RegistryProtocol();
- String[] additionalParams = new String[]{"key1", "key2"};
- String[] registryParams = registryProtocol.getParamsToRegistry(additionalParams);
- String[] expectParams = ArrayUtils.addAll(EXCHANGING_KEYS, additionalParams);
- Assert.assertArrayEquals(expectParams, registryParams);
- }
-
- @Test
public void testDefaultPort() {
RegistryProtocol registryProtocol = new RegistryProtocol();
assertEquals(9090, registryProtocol.getDefaultPort());
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/integration/RegistryProtocolTest.java b/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/integration/RegistryProtocolTest.java
new file mode 100644
index 0000000..3b6ec31
--- /dev/null
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/org/apache/dubbo/registry/integration/RegistryProtocolTest.java
@@ -0,0 +1,23 @@
+package org.apache.dubbo.registry.integration;
+
+import org.apache.commons.lang3.ArrayUtils;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.apache.dubbo.common.Constants.DEFAULT_REGISTER_PROVIDER_KEYS;
+
+/**
+ * @author cvictory ON 2018/11/14
+ */
+public class RegistryProtocolTest {
+
+ @Test
+ public void testGetParamsToRegistry() {
+ RegistryProtocol registryProtocol = new RegistryProtocol();
+ String[] additionalParams = new String[]{"key1", "key2"};
+ String[] registryParams = registryProtocol.getParamsToRegistry(DEFAULT_REGISTER_PROVIDER_KEYS, additionalParams);
+ String[] expectParams = ArrayUtils.addAll(DEFAULT_REGISTER_PROVIDER_KEYS, additionalParams);
+ Assert.assertArrayEquals(expectParams, registryParams);
+ }
+}
+
[incubator-dubbo] 02/06: Merge branch 'dev-metadata' of
https://github.com/apache/incubator-dubbo into dev-metadata
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit c5bc3bc4f91d9a2a14a1511d51387fa6015e67d9
Merge: bc9cf99 d85550a
Author: cvictory <sh...@gmail.com>
AuthorDate: Wed Nov 7 14:56:40 2018 +0800
Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
.../apache/dubbo/config/ConfigCenterConfig.java | 37 +++++++++++++++++++++-
.../dubbo/config/spring/ConfigCenterBean.java | 35 +++++++++++++++++++-
.../apache/dubbo/config/spring/ReferenceBean.java | 4 +++
.../apache/dubbo/config/spring/ServiceBean.java | 13 ++------
4 files changed, 76 insertions(+), 13 deletions(-)
[incubator-dubbo] 03/06: fix :dubbo.properties cannot work on
MetadataReportConfig
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit d8db928d0a080767fe7ad4a3398d17ec39ec9614
Author: cvictory <sh...@gmail.com>
AuthorDate: Thu Nov 8 18:31:15 2018 +0800
fix :dubbo.properties cannot work on MetadataReportConfig
---
.../config/spring/context/annotation/DubboConfigConfiguration.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
index 8f4dea8..1424e86 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.dubbo.config.spring.context.annotation;
import org.apache.dubbo.config.AbstractConfig;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ConsumerConfig;
+import org.apache.dubbo.config.MetadataReportConfig;
import org.apache.dubbo.config.ModuleConfig;
import org.apache.dubbo.config.MonitorConfig;
import org.apache.dubbo.config.ProtocolConfig;
@@ -56,7 +57,8 @@ public class DubboConfigConfiguration {
@EnableDubboConfigBinding(prefix = "dubbo.monitor", type = MonitorConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.provider", type = ProviderConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.consumer", type = ConsumerConfig.class),
- @EnableDubboConfigBinding(prefix = "dubbo.configcenter", type = ConfigCenterBean.class)
+ @EnableDubboConfigBinding(prefix = "dubbo.configcenter", type = ConfigCenterBean.class),
+ @EnableDubboConfigBinding(prefix = "dubbo.metadatareport", type = MetadataReportConfig.class)
})
public static class Single {
[incubator-dubbo] 04/06: Merge branch 'dev-metadata' of
https://github.com/apache/incubator-dubbo into dev-metadata
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit efacb58b71401002511c93fc78e0d7ac6d6511f2
Merge: d8db928 ebb7dd7
Author: cvictory <sh...@gmail.com>
AuthorDate: Thu Nov 8 18:31:26 2018 +0800
Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata
.../dubbo/governance/AbstractDynamicConfiguration.java | 5 ++---
.../support/apollo/ApolloDynamicConfiguration.java | 2 +-
.../dubbo/registry/integration/RegistryDirectory.java | 17 ++++++++++++++---
.../dubbo/registry/integration/parser/ConfigParser.java | 2 ++
4 files changed, 19 insertions(+), 7 deletions(-)
[incubator-dubbo] 06/06: Merge branch 'dev-metadata' of
github.com:apache/incubator-dubbo into dev-metadata
Posted by vi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit 21b4334dc9fd61907d2cb26f08c5eb26e05195e4
Merge: 29ef73f bdfc500
Author: cvictory <sh...@gmail.com>
AuthorDate: Wed Nov 14 18:42:00 2018 +0800
Merge branch 'dev-metadata' of github.com:apache/incubator-dubbo into dev-metadata
.../cluster/configurator/AbstractConfigurator.java | 7 +-
.../dubbo/rpc/cluster/router/tag/TagRouter.java | 8 +-
.../org/apache/dubbo/common/utils/UrlUtils.java | 5 +-
.../apache/dubbo/config/ConfigCenterConfig.java | 6 +-
.../org/apache/dubbo/config/ReferenceConfig.java | 2 +
.../org/apache/dubbo/config/ServiceConfig.java | 2 +
.../dubbo/config/spring/ConfigCenterBean.java | 29 +++-
.../apache/dubbo/config/spring/ReferenceBean.java | 2 -
.../apache/dubbo/config/spring/ServiceBean.java | 2 -
.../META-INF/spring/dubbo-demo-consumer.xml | 3 +-
.../registry/integration/RegistryProtocol.java | 149 +++++++++++++--------
.../registry/integration/parser/ConfigParser.java | 11 +-
.../parser/model/ConfiguratorConfig.java | 9 ++
.../registry/support/ProviderConsumerRegTable.java | 34 +++--
.../registry/support/ProviderInvokerWrapper.java | 9 ++
15 files changed, 194 insertions(+), 84 deletions(-)