From af3117d1c6be5355bfdfc02e0e19dd00c41a3942 Mon Sep 17 00:00:00 2001 From: wusheng Date: Fri, 11 Nov 2016 14:37:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8C=85=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{logging => }/RegistryCenterFactory.java | 6 ++--- .../registry/{logging => }/api/Center.java | 2 +- .../{logging => }/api/CenterType.java | 2 +- .../registry/{logging => }/api/EventType.java | 2 +- .../{logging => }/api/NotifyListener.java | 2 +- .../{logging => }/api/RegistryCenter.java | 8 +++---- .../impl/zookeeper/ZookeeperConfig.java | 2 +- .../zookeeper/ZookeeperRegistryCenter.java | 24 +++++++++---------- ...eye.skywalking.registry.api.RegistryCenter | 1 + ...alking.registry.logging.api.RegistryCenter | 1 - 10 files changed, 24 insertions(+), 26 deletions(-) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/RegistryCenterFactory.java (85%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/api/Center.java (78%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/api/CenterType.java (70%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/api/EventType.java (63%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/api/NotifyListener.java (61%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/api/RegistryCenter.java (81%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/impl/zookeeper/ZookeeperConfig.java (96%) rename skywalking-registry/src/main/java/com/a/eye/skywalking/registry/{logging => }/impl/zookeeper/ZookeeperRegistryCenter.java (86%) create mode 100644 skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.api.RegistryCenter delete mode 100644 skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.logging.api.RegistryCenter diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/RegistryCenterFactory.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryCenterFactory.java similarity index 85% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/RegistryCenterFactory.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryCenterFactory.java index 1992c36dc..27e8f73fb 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/RegistryCenterFactory.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryCenterFactory.java @@ -1,7 +1,7 @@ -package com.a.eye.skywalking.registry.logging; +package com.a.eye.skywalking.registry; -import com.a.eye.skywalking.registry.logging.api.Center; -import com.a.eye.skywalking.registry.logging.api.RegistryCenter; +import com.a.eye.skywalking.registry.api.Center; +import com.a.eye.skywalking.registry.api.RegistryCenter; import java.util.HashMap; import java.util.Iterator; diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/Center.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/Center.java similarity index 78% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/Center.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/Center.java index b6cf7fc39..5998f459f 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/Center.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/Center.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.api; +package com.a.eye.skywalking.registry.api; import java.lang.annotation.*; diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/CenterType.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/CenterType.java similarity index 70% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/CenterType.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/CenterType.java index 56e7e9afe..8aa60e551 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/CenterType.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/CenterType.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.api; +package com.a.eye.skywalking.registry.api; /** * Created by wusheng on 2016/11/10. diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/EventType.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/EventType.java similarity index 63% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/EventType.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/EventType.java index 52dae6a07..30c0d141f 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/EventType.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/EventType.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.api; +package com.a.eye.skywalking.registry.api; /** * Created by xin on 2016/11/10. diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/NotifyListener.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/NotifyListener.java similarity index 61% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/NotifyListener.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/NotifyListener.java index d99c07dee..7cc9a07e9 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/NotifyListener.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/NotifyListener.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.api; +package com.a.eye.skywalking.registry.api; public interface NotifyListener { void notify(EventType type, String urls); diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/RegistryCenter.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java similarity index 81% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/RegistryCenter.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java index c125af254..89f9a310f 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/api/RegistryCenter.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.api; +package com.a.eye.skywalking.registry.api; import java.util.Properties; @@ -9,16 +9,14 @@ public interface RegistryCenter { /** * 主要用于storage启动注册使用,将自身IP和端口注册到注册中心 - * 格式为: - * /storage_list/192.168.0.1:3400 NULL * - * @param path + * + * @param path 格式为:/storage_list/192.168.0.1:3400 */ void register(String path); /** * 主要用于routing节点在启动完成之后,读取和监听stroage节点列表 - * 格式 * * @param path * @param listener diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperConfig.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperConfig.java similarity index 96% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperConfig.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperConfig.java index dd0ed8662..f44d4a396 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperConfig.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperConfig.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.registry.logging.impl.zookeeper; +package com.a.eye.skywalking.registry.impl.zookeeper; import com.a.eye.skywalking.logging.ILog; import com.a.eye.skywalking.logging.LogManager; diff --git a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperRegistryCenter.java b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java similarity index 86% rename from skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperRegistryCenter.java rename to skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java index 0d7317e56..7173ae51b 100644 --- a/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/logging/impl/zookeeper/ZookeeperRegistryCenter.java +++ b/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java @@ -1,8 +1,8 @@ -package com.a.eye.skywalking.registry.logging.impl.zookeeper; +package com.a.eye.skywalking.registry.impl.zookeeper; import com.a.eye.skywalking.logging.ILog; import com.a.eye.skywalking.logging.LogManager; -import com.a.eye.skywalking.registry.logging.api.*; +import com.a.eye.skywalking.registry.api.*; import org.apache.zookeeper.*; import java.io.IOException; @@ -23,32 +23,32 @@ public class ZookeeperRegistryCenter implements RegistryCenter { createPath = "/" + createPath; } - recursionCreatePath(createPath, 0); + mkdirs(createPath, 0); } /** - * @param createPath + * @param path * @param index */ - private void recursionCreatePath(String createPath, int index) { + private void mkdirs(String path, int index) { + //TODO: 修改成循环创建 try { - int next = createPath.indexOf("/", index + 1); - String path = createPath; + int next = path.indexOf("/", index + 1); CreateMode createMode = CreateMode.EPHEMERAL; if (next != -1) { createMode = CreateMode.PERSISTENT; - path = createPath.substring(0, next); + path = path.substring(0, next); } if (client.exists(path, false) == null) client.create(path, null, ZooDefs.Ids.OPEN_ACL_UNSAFE, createMode); if (next != -1) { - recursionCreatePath(createPath, next); + mkdirs(path, next); } } catch (Exception e) { - logger.error("Failed to create path[{}]", createPath, e); + logger.error("Failed to create path[{}]", path, e); } } @@ -91,11 +91,11 @@ public class ZookeeperRegistryCenter implements RegistryCenter { @Override public void process(WatchedEvent event) { + retryWatch(); + if (event.getType() == Event.EventType.NodeChildrenChanged) { notifyListener(event); } - - retryWatch(); } private void notifyListener(WatchedEvent event) { diff --git a/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.api.RegistryCenter b/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.api.RegistryCenter new file mode 100644 index 000000000..b604cd059 --- /dev/null +++ b/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.api.RegistryCenter @@ -0,0 +1 @@ +com.a.eye.skywalking.registry.impl.zookeeper.ZookeeperRegistryCenter diff --git a/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.logging.api.RegistryCenter b/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.logging.api.RegistryCenter deleted file mode 100644 index aaa1d63c9..000000000 --- a/skywalking-registry/src/main/resources/META-INF/services/com.a.eye.skywalking.registry.logging.api.RegistryCenter +++ /dev/null @@ -1 +0,0 @@ -com.a.eye.skywalking.registry.logging.impl.zookeeper.ZookeeperRegistryCenter