public class DeleteNodeSync 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 DeleteNodeSync());
System.out.println(zooKeeper.getState().toString());
Thread.sleep(Integer.MAX_VALUE);
}
private void doSomething(ZooKeeper zooKeeper){
try {
zooKeeper.delete("/node_1", -1);
} 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 DeleteNodeSync());
System.out.println(zooKeeper.getState().toString());
Thread.sleep(Integer.MAX_VALUE);
}
private void doSomething(ZooKeeper zooKeeper){
try {
zooKeeper.delete("/node_1", -1);
} 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);
}
}
}
}
本文档展示了如何使用Zookeeper的Java API进行节点删除操作。`DeleteNodeSync`类实现了`Watcher`接口,通过`ZooKeeper`实例连接到服务器,并在连接成功后删除指定节点`/node_1`。`process`方法处理接收到的事件,当连接状态为`SyncConnected`且事件类型为`None`时执行删除操作。
1043

被折叠的 条评论
为什么被折叠?



