Zookeeper实例原生API--删除节点

来源:互联网 发布:淘宝购物车点不开 编辑:程序博客网 时间:2024/06/06 12:50


/** * * @ClassName: Delete_API_Sync_Usage * @Description: TODO(ZooKeeper API 删除节点,使用同步(sync)接口) * @author RongShu* @date 2017年6月11日 下午8:34:59 * */public class Delete_API_Sync_Usage implements Watcher {    private static CountDownLatch connectedSemaphore = new CountDownLatch(1);    private static ZooKeeper zk;    public static void main(String[] args) throws Exception {    String path = "/zk-book";    zk = new ZooKeeper("localhost:2181",5000, new Delete_API_Sync_Usage());    connectedSemaphore.await();    zk.create( path, "".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL );    zk.delete( path, -1 );    Thread.sleep(2000);    }    @Override    public void process(WatchedEvent event) {        if (KeeperState.SyncConnected == event.getState()) {            if (EventType.None == event.getType() && null == event.getPath()) {                connectedSemaphore.countDown();            }        }    }}


注意:

如果一个节点存在至少一个子节点的话,那么该节点将无法被直接删除,必须先删除掉所有的子节点。


扩展




参考

1.《从Paxos到Zookeeper:分布式一致性原理与实践》

2.https://zookeeper.apache.org/doc/r3.5.3-beta/api/index.html



阅读全文
0 0
原创粉丝点击