ZooKeeper的java客户端api的监听功能代码示范
ZooKeeper的java客户端api的监听功能代码示范
package cn.edu360.zk.demo; import java.util.List; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.Watcher.Event.EventType; import org.apache.zookeeper.Watcher.Event.KeeperState; import org.apache.zookeeper.ZooKeeper; import org.junit.Before; import org.junit.Test; public class ZookeeperWatchDemo { ZooKeeper zk = null; @Before public void init() throws Exception { zk = new ZooKeeper("hadoop1:2181,hadoop2:2181,hadoop3:2181", 2000, new Watcher() { @Override public void process(WatchedEvent event) { if(event.getState() == KeeperState.SyncConnected && event.getType() == EventType.NodeDataChanged) { System.out.println(event.getPath()); //收到的事件所发生的节点路径 System.out.println(event.getType()); //收到的事件的类型 System.out.println("赶紧换照片,换性感的浴衣..."); //收到事件后我们的处理逻辑 try { zk.getData("/mygirls", true, null); } catch (KeeperException | InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(event.getState() == KeeperState.SyncConnected && event.getType() == EventType.NodeChildrenChanged) { System.out.println("子节点变化了。"); } } }); } @Test public void testGetWatch() throws Exception { byte[] data = zk.getData("/mygirls",true ,null); //监听节点变化 List<String> children = zk.getChildren("/mygirls", true); //监听子节点变化事件 System.out.println(new String(data,"UTF-8")); Thread.sleep(Long.MAX_VALUE); } }
热门文章
- 2月20日 | Surfboard节点订阅每天更新22.7M/S免费节点订阅链接,Surfboard免费机场
- 2月1日 | Surfboard节点订阅每天更新22.4M/S免费节点订阅链接,Surfboard免费机场
- 1月27日 | Surfboard节点订阅每天更新18.8M/S免费节点订阅链接,Surfboard免费机场
- 人用疫苗和兽用疫苗 人用疫苗和兽用疫苗区别
- 超详细,Python 多线程总结的太到位了
- 1月13日 | Surfboard节点订阅每天更新20.1M/S免费节点订阅链接,Surfboard免费机场
- 动物疫苗过敏反应有哪些症状(动物打疫苗后的不良反应)
- 华畜兽药有限公司官网招聘(华畜兽药厂家地址在哪里)
- 我被猫咬了,没去***,会不会死已经十天(被猫咬了没打疫苗,过多久就会没事了呢?)
- 2月8日 | Surfboard节点订阅每天更新21.4M/S免费节点订阅链接,Surfboard免费机场