Skip to content

Commit

Permalink
zk 迁移spi
Browse files Browse the repository at this point in the history
  • Loading branch information
黄志磊 committed Jan 15, 2016
1 parent df03257 commit 21bbeca
Show file tree
Hide file tree
Showing 17 changed files with 60 additions and 632 deletions.
18 changes: 13 additions & 5 deletions mpush-core/src/main/java/com/shinemo/mpush/core/App.java
Expand Up @@ -7,11 +7,13 @@
import com.shinemo.mpush.tools.Jsons; import com.shinemo.mpush.tools.Jsons;
import com.shinemo.mpush.tools.config.ConfigCenter; import com.shinemo.mpush.tools.config.ConfigCenter;
import com.shinemo.mpush.tools.redis.RedisGroup; import com.shinemo.mpush.tools.redis.RedisGroup;
import com.shinemo.mpush.tools.spi.ServiceContainer;
import com.shinemo.mpush.tools.thread.ThreadPoolUtil; import com.shinemo.mpush.tools.thread.ThreadPoolUtil;
import com.shinemo.mpush.tools.zk.ZKPath; import com.shinemo.mpush.tools.zk.ZKPath;
import com.shinemo.mpush.tools.zk.ServerApp; import com.shinemo.mpush.tools.zk.ServerApp;
import com.shinemo.mpush.tools.zk.ZkUtil; import com.shinemo.mpush.tools.zk.ZkRegister;
import com.shinemo.mpush.tools.zk.listener.impl.RedisPathListener; import com.shinemo.mpush.tools.zk.listener.impl.RedisPathListener;

import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


Expand All @@ -26,6 +28,8 @@ public final class App {
private static final App APP = new App(); private static final App APP = new App();
private ConnectionServer connectionServer; private ConnectionServer connectionServer;
private GatewayServer gatewayServer; private GatewayServer gatewayServer;

private ZkRegister zkRegister = null;


public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
LOGGER.error("mpush app start begin...."); LOGGER.error("mpush app start begin....");
Expand Down Expand Up @@ -102,19 +106,23 @@ public void onFailure(String message) {


private void registerServerToZK(int port, ZKPath path) { private void registerServerToZK(int port, ZKPath path) {
ServerApp app = new ServerApp(MPushUtil.getLocalIp(), port); ServerApp app = new ServerApp(MPushUtil.getLocalIp(), port);
ZkUtil.instance.registerEphemeralSequential(path.getWatchPath(), Jsons.toJson(app)); zkRegister.registerEphemeralSequential(path.getWatchPath(), Jsons.toJson(app));
LOGGER.error("mpush app register server:{} to zk success", port); LOGGER.error("mpush app register server:{} to zk success", port);
} }

public void initZkRegister(){
zkRegister = ServiceContainer.getInstance(ZkRegister.class);
}


public void initRedisClient() throws Exception { public void initRedisClient() throws Exception {


boolean exist = ZkUtil.instance.isExisted(ZKPath.REDIS_SERVER.getPath()); boolean exist = zkRegister.isExisted(ZKPath.REDIS_SERVER.getPath());
if (!exist) { if (!exist) {
List<RedisGroup> groupList = ConfigCenter.holder.redisGroups(); List<RedisGroup> groupList = ConfigCenter.holder.redisGroups();
ZkUtil.instance.registerPersist(ZKPath.REDIS_SERVER.getPath(), Jsons.toJson(groupList)); zkRegister.registerPersist(ZKPath.REDIS_SERVER.getPath(), Jsons.toJson(groupList));
} }
RedisPathListener listener = new RedisPathListener(); RedisPathListener listener = new RedisPathListener();
ZkUtil.instance.getCache().getListenable().addListener(listener); zkRegister.getCache().getListenable().addListener(listener);
listener.initData(null); listener.initData(null);
} }
} }
2 changes: 1 addition & 1 deletion mpush-core/src/main/resources/config.properties
Expand Up @@ -34,7 +34,7 @@ compress_limit = 10240
max_packet_size = 10240 max_packet_size = 10240


## zk 配置项 ## zk 配置项
zk_ip = 10.1.10.41:2181 zk_ip = 10.1.30.2:2181
zk_namespace = mpush zk_namespace = mpush
zk_digest = shinemoIpo zk_digest = shinemoIpo


Expand Down
@@ -1,4 +1,4 @@
package com.shinemo.mpush.tools.zk; package com.shinemo.mpush.core.zk;


import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
Expand All @@ -9,6 +9,8 @@
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


import com.shinemo.mpush.tools.MPushUtil; import com.shinemo.mpush.tools.MPushUtil;
import com.shinemo.mpush.tools.zk.ServerApp;
import com.shinemo.mpush.tools.zk.ZKPath;
import com.shinemo.mpush.tools.zk.manage.ServerManage; import com.shinemo.mpush.tools.zk.manage.ServerManage;


public class ServerManageTest { public class ServerManageTest {
Expand Down
20 changes: 20 additions & 0 deletions mpush-core/src/test/java/com/shinemo/mpush/core/zk/ZkTest.java
@@ -0,0 +1,20 @@
package com.shinemo.mpush.core.zk;

import org.junit.Test;

import com.shinemo.mpush.tools.zk.ZkRegister;
import com.shinemo.mpush.tools.zk.curator.services.ZkRegisterManager;

public class ZkTest {

@Test
public void remove(){
ZkRegister zkRegister = new ZkRegisterManager();

zkRegister.init();

zkRegister.remove("/");

}

}
@@ -1,4 +1,4 @@
package com.shinemo.mpush.tools.zk; package com.shinemo.mpush.core.zk;


import java.util.List; import java.util.List;


Expand All @@ -13,14 +13,18 @@
import com.shinemo.mpush.tools.Jsons; import com.shinemo.mpush.tools.Jsons;
import com.shinemo.mpush.tools.redis.RedisGroup; import com.shinemo.mpush.tools.redis.RedisGroup;
import com.shinemo.mpush.tools.redis.RedisNode; import com.shinemo.mpush.tools.redis.RedisNode;
import com.shinemo.mpush.tools.zk.ServerApp;
import com.shinemo.mpush.tools.zk.ZKPath;
import com.shinemo.mpush.tools.zk.ZkRegister;
import com.shinemo.mpush.tools.zk.curator.services.ZkRegisterManager;


public class ZkUtilTest { public class ZkUtilTest {


private ZkUtil zkUtil; private ZkRegister zkUtil;


@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
zkUtil = ZkUtil.instance; zkUtil = new ZkRegisterManager();
} }


@Test @Test
Expand Down
Expand Up @@ -3,6 +3,7 @@
import java.util.List; import java.util.List;


import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.cache.TreeCache;


import com.shinemo.mpush.tools.spi.SPI; import com.shinemo.mpush.tools.spi.SPI;


Expand Down Expand Up @@ -33,5 +34,9 @@ public interface ZkRegister {
public String get(String key); public String get(String key);


public CuratorFramework getClient(); public CuratorFramework getClient();

public ZkConfig getZkConfig();

TreeCache getCache();


} }

0 comments on commit 21bbeca

Please sign in to comment.