Java 操作 Znode 节点

来自姬鸿昌的知识库
跳到导航 跳到搜索

查询

package org.example;

import org.apache.curator.framework.CuratorFramework;
import org.junit.Test;

import java.util.List;

public class Demo2 {

    CuratorFramework cf = ZkUtil.cf();

    /**
     * 查询子节点
     * @throws Exception
     */
    @Test
    public void getChildren() throws Exception {
        List<String> strings = cf.getChildren().forPath("/");
        for (String string : strings) {
            System.out.println(string);
        }
    }

    /**
     * 查询子节点数据
     * @throws Exception
     */
    @Test
    public void getData() throws Exception {
        byte[] bytes = cf.getData().forPath("/qf");
        System.out.println(new String(bytes, "UTF-8"));
    }

}


添加

......
    /**
     * 创建新节点
     * @throws Exception
     */
    @Test
    public void create() throws Exception {
        cf.create().withMode(CreateMode.PERSISTENT).forPath("/qf2", "uuuu".getBytes());
    }
......

修改

......
    /**
     * 改数据
     * @throws Exception
     */
    @Test
    public void update() throws Exception {
        cf.setData().forPath("/qf2", "oooo".getBytes());
    }
......

删除

......
    /**
     * 删除节点及其子节点
     * @throws Exception
     */
    @Test
    public void delete() throws Exception {
        cf.delete().deletingChildrenIfNeeded().forPath("/qf2");
    }
......

查看 Znode 的状态

......
    /**
     * 查看节点下状态
     * @throws Exception
     */
    @Test
    public void stat() throws Exception {
        Stat stat = cf.checkExists().forPath("/qf");
        System.out.println(stat);
    }
......
ZooKeeper查看节点下状态.png