zookeeper递归删除所有节点
2017-07-03 15:22
627 查看
package mq; import java.io.IOException; import java.util.List; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; public class ZookeeperNodesDelete{ /** * 递归删除zookeeper非空节点 * * @param zk * @param nodeStr * @throws IOException * @throws KeeperException * @throws InterruptedException */ public static void deleteSubNode(ZooKeeper zk, String nodeStr) throws IOException, KeeperException, InterruptedException { String nodePath = nodeStr; //打印当前节点路径 System.out.println("Node Path >>>>>>>>> [" + nodePath + " ]"); if (zk.getChildren(nodePath, false).size() == 0) { //删除节点 System.out.println("Deleting Node Path >>>>>>>>> [" + nodePath + " ]"); // zk.delete(nodePath,-1); } else { //递归查找非空子节点 List<String> list = zk.getChildren(nodeStr, true); for (String str : list) { deleteSubNode(zk, nodePath + "/" + str); } } } public static void main(String[] args) throws IOException, KeeperException, InterruptedException { String parentNodePath = "/dubbo"; ZooKeeper zk = new ZooKeeper("117.78.51.168:" + 2181, 3000, new Watcher() { // 监控所有被触发的事件 public void process(WatchedEvent event) { System.out.println("已经触发了" + event.getType() + "事件!"); } }); //递归删除节点所有子节点 deleteSubNode(zk, parentNodePath); // 关闭zk连接 zk.close(); } }
相关文章推荐
- 递归删除一个节点以及该节点下的所有节点示例
- 递归删除一个节点以及该节点下的所有节点
- 【工具类代码】递归获取所有的子节点做删除获取用
- 递归删除父节点及所有子节点(转)
- 递归删除一个节点以及该节点下的所有节点示例
- 递归删除所有叶子节点
- 递归删除树形结构的所有子节点(java和mysql实现)
- 递归删除父节点及所有子节点
- zookeeper递归删除znode节点java Demo
- 使用递归删除树形结构的所有子节点(java和mysql实现)
- Android中删除节点下的所有子节点,包括子节点的子节点,用递归方法
- 遍历 XML 文件所有节点的实例代码(递归调用)
- asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
- 同步删除被删除节点的所有子节点(BOM节点删除)
- CTreeCtrl控件中递归删除节点
- 二分搜索树非递归节点计数删除
- Java小段子-File对象递归删除目录下所有内容
- c# 递归删除文件夹下的所有文件
- 递归删除一个文件夹下的所有文件c#代码
- 递归删除当前文件夹及当前文件夹下的所有文件