public void testWatch() throws KeeperException, InterruptedException{
//监听节点数据内容发生变化的事件
byte[] data = zk.getData("/shabi2",new MyWatcher(zk), null);
Thread.sleep(Long.MAX_VALUE);
zk.close();
}
package com.test.zookeeper;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
public class MyWatcher implements Watcher{
ZooKeeper zk;
public MyWatcher(ZooKeeper zk){
this.zk = zk;
}
/**
* zk客户端对象收到来自zk集群的事件通知后,会调用此方法
*/
@Override
public void process(WatchedEvent event) {
try {
//这个方法为再次注册监听器,因为监听器只能执行一次
zk.getData("/s