java调用ZooKeeper API应用

举报
yd_249383650 发表于 2023/03/27 09:40:44 2023/03/27
【摘要】 ​ 1.创建一个Maven工程2.添加pom文件 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> </dependency> ...

 1.创建一个Maven工程

2.添加pom文件

 <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.8.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.10</version>
        </dependency>
    </dependencies>

创建ZooKeeper客户端 

public class zookeeper {

    public final static String  connetString="192.168.231.136:2181";
    private static int sessionTimeout = 2000;
    public static  ZooKeeper getZookeeper() throws Exception {
//        创建ZooKeeper客户端
        ZooKeeper zooKeeper = new ZooKeeper(connetString, sessionTimeout, new Watcher() {
            @Override
            public void process(WatchedEvent watchedEvent) {

            }
        });
        return zooKeeper;
    }
}

 创建子节点 

 @Test
    public void test01() throws Exception {
        // 参数1:要创建的节点的路径;
        // 参数2:节点数据 ;
        // 参数3:节点权限 ;
        // 参数4:节点的类型
        ZooKeeper zookeeper = com.atguigu.zookeeper.getZookeeper();
        String s = zookeeper.create("/777888", "8888".getBytes(StandardCharsets.UTF_8),
                ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        System.out.println(s);
    }

编辑 获取子节点

   @Test
    public void getChild() throws Exception {
        ZooKeeper zookeeper = com.atguigu.zookeeper.getZookeeper();
        List<String> children = zookeeper.getChildren("/", true);
        for(String child:children)
        {
            System.out.println(child);
        }
    }

编辑

 判断Znode是否存在

@Test
    public void exitTest() throws Exception {
        ZooKeeper zookeeper = com.atguigu.zookeeper.getZookeeper();
        Stat stat = zookeeper.exists("/idea", false);
        System.out.println(stat);
        System.out.println(stat == null ? "not exist" : "exist");
    }

编辑

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。