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 2018/10/24 03:04:09 UTC
[incubator-dubbo] 04/05: Ignore invalid configurators
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit 8839c9b2067a6fb3cc53c9f76463370a0dbb9efa
Author: ken.lj <ke...@gmail.com>
AuthorDate: Wed Oct 24 11:03:11 2018 +0800
Ignore invalid configurators
---
dubbo-dependencies-bom/pom.xml | 1 -
dubbo-governance/dubbo-governance-zookeeper/pom.xml | 5 -----
.../support/archaius/sources/ZooKeeperConfigurationSource.java | 4 ++++
.../org/apache/dubbo/registry/integration/RegistryDirectory.java | 9 +++++++--
.../org/apache/dubbo/registry/integration/RegistryProtocol.java | 9 +++++++--
5 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml
index 4cd3a04..1c4cbc5 100644
--- a/dubbo-dependencies-bom/pom.xml
+++ b/dubbo-dependencies-bom/pom.xml
@@ -378,7 +378,6 @@
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${commons_configuration_version}</version>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
diff --git a/dubbo-governance/dubbo-governance-zookeeper/pom.xml b/dubbo-governance/dubbo-governance-zookeeper/pom.xml
index 55b7bba..2e5c61a 100644
--- a/dubbo-governance/dubbo-governance-zookeeper/pom.xml
+++ b/dubbo-governance/dubbo-governance-zookeeper/pom.xml
@@ -34,11 +34,6 @@
<version>${project.parent.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-remoting-zookeeper</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
</dependency>
diff --git a/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/sources/ZooKeeperConfigurationSource.java b/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/sources/ZooKeeperConfigurationSource.java
index 0da40ea..7a96c4d 100644
--- a/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/sources/ZooKeeperConfigurationSource.java
+++ b/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/sources/ZooKeeperConfigurationSource.java
@@ -77,6 +77,10 @@ public class ZooKeeperConfigurationSource implements WatchedConfigurationSource,
throw new IllegalArgumentException("connectString==null, must specify the address to connect for zookeeper archaius source.");
}
+ if (!configRootPath.startsWith("/")) {
+ configRootPath = "/" + configRootPath;
+ }
+
CuratorFramework client = CuratorFrameworkFactory.newClient(connectString, sessionTimeout, connectTimeout,
new ExponentialBackoffRetry(1000, 3));
client.start();
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
index 09e82fd..6c51eb7 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
@@ -170,8 +170,13 @@ public class RegistryDirectory<T> extends AbstractDirectory<T> implements Notify
if (StringUtils.isEmpty(rawConfig)) {
return new LinkedList<>();
}
- List<URL> urls = ConfigParser.parseConfigurators(rawConfig);
- return urls.stream().map(configuratorFactory::getConfigurator).collect(Collectors.toList());
+ try {
+ List<URL> urls = ConfigParser.parseConfigurators(rawConfig);
+ return urls.stream().map(configuratorFactory::getConfigurator).collect(Collectors.toList());
+ } catch (Exception e) {
+ logger.error("Failed to parse raw dynamic config and it will not take effect, the raw config is: " + rawConfig, e);
+ }
+ return new LinkedList<>();
}
public void setProtocol(Protocol protocol) {
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 764b873..7003a4c 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
@@ -616,8 +616,13 @@ public class RegistryProtocol implements Protocol {
urls = new ArrayList<>();
urls.add(originUrl);
} else {
- // parseConfigurators will recognize app/service config automatically.
- urls = ConfigParser.parseConfigurators(event.getNewValue());
+ try {
+ // parseConfigurators will recognize app/service config automatically.
+ urls = ConfigParser.parseConfigurators(event.getNewValue());
+ } catch (Exception e) {
+ logger.error("Failed to parse raw dynamic config and it will not take effect, the raw config is: " + event.getNewValue(), e);
+ return;
+ }
}
notify(urls);
}