public class UpdateNodeSync implements Watcher{
private static ZooKeeper zooKeeper;
public static void main(String[] args) throws IOException, InterruptedException, KeeperException {
zooKeeper = new ZooKeeper("127.0.0.1:2181",5000,new UpdateNodeSync());
System.out.println(zooKeeper.getState().toString());
Thread.sleep(Integer.MAX_VALUE);
}
private void doSomething(ZooKeeper zooKeeper){
try {
Stat stat = zooKeeper.setData("/node_2", "123".getBytes(), -1);
System.out.println("stat:"+stat);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (KeeperException e) {
e.printStackTrace();
}
}
@Override
public void process(WatchedEvent event) {
System.out.println("事件状态:" + event.getState() +",事件类型:" + event.getType() +",事件涉及路径:" + event.getPath());
if (event.getState()==KeeperState.SyncConnected){
if (event.getType()==EventType.None && null==event.getPath()){
doSomething(zooKeeper);
}
}
}
}
private static ZooKeeper zooKeeper;
public static void main(String[] args) throws IOException, InterruptedException, KeeperException {
zooKeeper = new ZooKeeper("127.0.0.1:2181",5000,new UpdateNodeSync());
System.out.println(zooKeeper.getState().toString());
Thread.sleep(Integer.MAX_VALUE);
}
private void doSomething(ZooKeeper zooKeeper){
try {
Stat stat = zooKeeper.setData("/node_2", "123".getBytes(), -1);
System.out.println("stat:"+stat);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (KeeperException e) {
e.printStackTrace();
}
}
@Override
public void process(WatchedEvent event) {
System.out.println("事件状态:" + event.getState() +",事件类型:" + event.getType() +",事件涉及路径:" + event.getPath());
if (event.getState()==KeeperState.SyncConnected){
if (event.getType()==EventType.None && null==event.getPath()){
doSomething(zooKeeper);
}
}
}
}