You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2019/12/18 03:08:16 UTC
[dubbo] branch master updated: protocols/protocolIds and
registries/registryIds, make sure only one can work (#5497)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 2f62b27 protocols/protocolIds and registries/registryIds, make sure only one can work (#5497)
2f62b27 is described below
commit 2f62b273ceb20772d0734da03c1fd12ad465fcd6
Author: ken.lj <ke...@gmail.com>
AuthorDate: Wed Dec 18 11:08:08 2019 +0800
protocols/protocolIds and registries/registryIds, make sure only one can work (#5497)
---
.../java/org/apache/dubbo/config/AbstractInterfaceConfig.java | 9 +++++++--
.../main/java/org/apache/dubbo/config/AbstractServiceConfig.java | 6 ++++++
.../src/main/java/org/apache/dubbo/config/ServiceConfigBase.java | 2 +-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index f29c3e6..6495938 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@ -115,7 +115,8 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
protected ModuleConfig module;
/**
- * Registry centers
+ * The registry list the service will register to
+ * Also see {@link #registryIds}, only one of them will work.
*/
protected List<RegistryConfig> registries;
@@ -124,6 +125,10 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
*/
private List<MethodConfig> methods;
+ /**
+ * The id list of registries the service will register to
+ * Also see {@link #registries}, only one of them will work.
+ */
protected String registryIds;
// connection events
@@ -277,7 +282,7 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
}
} else {
String[] ids = COMMA_SPLIT_PATTERN.split(registryIds);
- List<RegistryConfig> tmpRegistries = CollectionUtils.isNotEmpty(registries) ? registries : new ArrayList<>();
+ List<RegistryConfig> tmpRegistries = new ArrayList<>();
Arrays.stream(ids).forEach(id -> {
if (tmpRegistries.stream().noneMatch(reg -> reg.getId().equals(id))) {
Optional<RegistryConfig> globalRegistry = ApplicationModel.getConfigManager().getRegistry(id);
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
index 549aa64..0af1edf 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
@@ -89,8 +89,14 @@ public abstract class AbstractServiceConfig extends AbstractInterfaceConfig {
/**
* The protocol list the service will export with
+ * Also see {@link #protocolIds}, only one of them will work.
*/
protected List<ProtocolConfig> protocols;
+
+ /**
+ * The id list of protocols the service will export with
+ * Also see {@link #protocols}, only one of them will work.
+ */
protected String protocolIds;
// max allowed execute times
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java b/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
index 2ab7936..5b0c41f 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
@@ -277,7 +277,7 @@ public abstract class ServiceConfigBase<T> extends AbstractServiceConfig {
}
} else {
String[] arr = COMMA_SPLIT_PATTERN.split(protocolIds);
- List<ProtocolConfig> tmpProtocols = CollectionUtils.isNotEmpty(protocols) ? protocols : new ArrayList<>();
+ List<ProtocolConfig> tmpProtocols = new ArrayList<>();
Arrays.stream(arr).forEach(id -> {
if (tmpProtocols.stream().noneMatch(prot -> prot.getId().equals(id))) {
Optional<ProtocolConfig> globalProtocol = ApplicationModel.getConfigManager().getProtocol(id);