From c0f6d20a37cafb7c7b2e6b66df204b149f4e237b Mon Sep 17 00:00:00 2001 From: ascrutae Date: Wed, 7 Dec 2016 16:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E4=B8=AD=E5=BF=83=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0stop=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../registry/RegistryNodeManager.java | 4 ++ .../registry/api/RegistryCenter.java | 3 + .../zookeeper/ZookeeperRegistryCenter.java | 4 ++ .../ZookeeperRegistryCenterTest.java | 20 ++++++ .../router/NodeChangesListenerTest.java | 64 ------------------- 5 files changed, 31 insertions(+), 64 deletions(-) delete mode 100644 skywalking-storage-center/skywalking-routing/src/test/java/com/a/eye/skywalking/routing/router/NodeChangesListenerTest.java diff --git a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryNodeManager.java b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryNodeManager.java index 3cedc1fda5..b193d836ae 100644 --- a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryNodeManager.java +++ b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/RegistryNodeManager.java @@ -34,4 +34,8 @@ public class RegistryNodeManager { public List getConnectionURLOfPreviousChanged() { return new ArrayList(connectionURLOfPreviousChanged); } + + public void clear() { + connectionURLOfPreviousChanged = new ArrayList(); + } } diff --git a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java index 89f9a310f2..b92b5d5624 100644 --- a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java +++ b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/api/RegistryCenter.java @@ -30,4 +30,7 @@ public interface RegistryCenter { * @param centerConfig 配置参数 */ void start(Properties centerConfig); + + + void stop(); } diff --git a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java index 16b4a0bedb..1fbdbfa918 100644 --- a/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java +++ b/skywalking-commons/skywalking-registry/src/main/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenter.java @@ -59,6 +59,10 @@ public class ZookeeperRegistryCenter implements RegistryCenter { } } + @Override + public void stop() { + nodeManager.clear(); + } } diff --git a/skywalking-commons/skywalking-registry/src/test/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenterTest.java b/skywalking-commons/skywalking-registry/src/test/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenterTest.java index 20fe4d2ff5..a0c2182118 100644 --- a/skywalking-commons/skywalking-registry/src/test/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenterTest.java +++ b/skywalking-commons/skywalking-registry/src/test/java/com/a/eye/skywalking/registry/impl/zookeeper/ZookeeperRegistryCenterTest.java @@ -40,6 +40,24 @@ public class ZookeeperRegistryCenterTest extends TestSuite { public void tearDown() throws Exception { zkTestServer.getTempDirectory().delete(); zkTestServer.stop(); + registryCenter.stop(); + } + + @Test + public void subscribeNodeTest() throws InterruptedException { + final StringBuilder addUrl = new StringBuilder(); + registryCenter.subscribe("/skywalking/storage", new NotifyListener() { + @Override + public void notify(List registryNodes) { + for (RegistryNode url : registryNodes) { + addUrl.append(url.getNode() + ","); + } + } + }); + + registryCenter.register("/skywalking/storage/127.0.0.1:9400"); + Thread.sleep(100L); + assertEquals(addUrl.deleteCharAt(addUrl.length() - 1).toString(), "127.0.0.1:9400"); } @@ -59,6 +77,8 @@ public class ZookeeperRegistryCenterTest extends TestSuite { assertEquals(addUrl.deleteCharAt(addUrl.length() - 1).toString(), "127.0.0.1:9400"); } + + @Test public void registryNodeTest() throws IOException, InterruptedException, KeeperException { registryCenter.register("/skywalking/storage/test"); diff --git a/skywalking-storage-center/skywalking-routing/src/test/java/com/a/eye/skywalking/routing/router/NodeChangesListenerTest.java b/skywalking-storage-center/skywalking-routing/src/test/java/com/a/eye/skywalking/routing/router/NodeChangesListenerTest.java deleted file mode 100644 index 1b6fbc83d0..0000000000 --- a/skywalking-storage-center/skywalking-routing/src/test/java/com/a/eye/skywalking/routing/router/NodeChangesListenerTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.a.eye.skywalking.routing.router; - -import com.a.eye.skywalking.registry.RegistryCenterFactory; -import com.a.eye.skywalking.registry.api.CenterType; -import com.a.eye.skywalking.registry.api.RegistryCenter; -import com.a.eye.skywalking.registry.impl.zookeeper.ZookeeperConfig; -import com.a.eye.skywalking.routing.config.Config; -import org.apache.curator.test.TestingServer; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Spy; -import org.mockito.runners.MockitoJUnitRunner; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -@RunWith(MockitoJUnitRunner.class) -public class NodeChangesListenerTest { - - @Spy - private Router router = new Router(); - - private TestingServer zkTestServer; - private RegistryCenter registryCenter; - - @Before - public void setUp() throws Exception { - zkTestServer = new TestingServer(2181, true); - registryCenter = RegistryCenterFactory.INSTANCE.getRegistryCenter(CenterType.DEFAULT_CENTER_TYPE); - Properties config = new Properties(); - config.put(ZookeeperConfig.CONNECT_URL, "127.0.0.1:2181"); - registryCenter.start(config); - - } - - @Test - public void testRoutingStartBeforeStorageNode() throws InterruptedException { - registryCenter.register(Config.StorageNode.SUBSCRIBE_PATH + "/127.0.0.1:34000"); - Thread.sleep(10); - List nodeURL = new ArrayList<>(); - nodeURL.add("127.0.0.1:34000"); - //verify(router, times(1)).notify(eq(nodeURL), eq(NotifyListenerImpl.ChangeType.Add)); - } - - - @Test - public void testStorageNodeStartBeforeRoutingStart() throws InterruptedException { - registryCenter.register(Config.StorageNode.SUBSCRIBE_PATH + "/127.0.0.1:34000"); - Thread.sleep(10); - List nodeURL = new ArrayList<>(); - nodeURL.add("127.0.0.1:34000"); - //verify(router, times(1)).notify(eq(nodeURL), eq(NotifyListenerImpl.ChangeType.Add)); - } - - @After - public void tearUp() throws IOException { - zkTestServer.stop(); - } - -} -- GitLab