commit | 96a6db7f5cc7873fe7a3e714b24984fe852f1b15 | [log] [tgz] |
---|---|---|
author | qinliujie <765152203@qq.com> | Wed Jan 17 16:50:25 2018 +0800 |
committer | ken.lj <ken.lj.hz@gmail.com> | Wed Jan 17 02:50:25 2018 -0600 |
tree | ea4694a8c5f9f481b9989477dfca9051c820c973 | |
parent | 5af18786003e832b0abb280b6f57322b4e7e9784 [diff] |
Merge pull request #1190, fix redis and multicast registry offline fail Fixes #1181
diff --git a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java index a375194..d96cc42 100644 --- a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java +++ b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java
@@ -49,7 +49,6 @@ /** * MulticastRegistry - * */ public class MulticastRegistry extends FailbackRegistry { @@ -338,6 +337,13 @@ if (urls != null) { urls.remove(url); } + if (urls == null || urls.isEmpty()){ + if (urls == null){ + urls = new ConcurrentHashSet<URL>(); + } + URL empty = url.setProtocol(Constants.EMPTY_PROTOCOL); + urls.add(empty); + } List<URL> list = toList(urls); for (NotifyListener listener : entry.getValue()) { notify(key, listener, list);
diff --git a/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistryFactory.java b/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistryFactory.java index a64382b..7d15e72 100644 --- a/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistryFactory.java +++ b/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistryFactory.java
@@ -18,15 +18,16 @@ import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.registry.Registry; -import com.alibaba.dubbo.registry.RegistryFactory; +import com.alibaba.dubbo.registry.support.AbstractRegistryFactory; /** * RedisRegistryFactory * */ -public class RedisRegistryFactory implements RegistryFactory { +public class RedisRegistryFactory extends AbstractRegistryFactory { - public Registry getRegistry(URL url) { + @Override + protected Registry createRegistry(URL url) { return new RedisRegistry(url); }