博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZooKeeper 基本API使用
阅读量:7094 次
发布时间:2019-06-28

本文共 2095 字,大约阅读时间需要 6 分钟。

  hot3.png

/** * * @author zhangwei_david * @version $Id: ZKDemo.java, v 0.1 2015年5月2日 上午9:10:56 zhangwei_david Exp $ */public class ZKDemo {    private static CountDownLatch latch = new CountDownLatch(1);    private static ZooKeeper      zk    = null;    private static String         path  = "/zk-demo";    /**     *     * @param args     * @throws Exception     */    public static void main(String[] args) throws Exception {        zk = new ZooKeeper("localhost:2181", 5000, new Watcher() {            public void process(WatchedEvent event) {                if (KeeperState.SyncConnected == event.getState()) {                    //如果客户端已经建立连接闭锁减一                    latch.countDown();                }            }        });        // 等待zk实例创建完成        latch.await();        // 如果该节点不存在则创建持久化的节点        if (zk.exists(path, true) == null) {            zk.create(path, "".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);        }        //创建临时节点        zk.create(path + "/test", "test".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);        // 删除节点        zk.delete(path + "/test", 0);        // 异步创建临时节点        zk.create(path + "/test", "123".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL,            new StringCallback() {                public void processResult(int rc, String path, Object ctx, String name) {                    System.out.println("result code=" + rc + ", path=" + path + " context=" + ctx                    + ", name=" + name);                }            }, "Test Context");        TimeUnit.SECONDS.sleep(3);        // 更新数据        zk.setData(path + "/test", "testData".getBytes(), -1);        zk.create(path + "/test2", "123".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);        // 获取节点        List
znodes = zk.getChildren(path, true); // 获取所有节点下的数据 Stat stat = new Stat(); for (String str : znodes) { byte[] data = zk.getData(path + "/" + str, true, stat); System.out.println("获取节点:" + str + " 的数据是:" + new String(data)); } }}

 

 

转载于:https://my.oschina.net/boltwu/blog/412891

你可能感兴趣的文章
【原创】开源.NET排列组合组件KwCombinatorics使用(一)—组合生成
查看>>
EXTJS学习系列提高篇:第十一篇(转载)作者殷良胜,制作树形菜单之五
查看>>
ylbtech-memorandum(备忘录)-数据库设计
查看>>
Oracle数据库服务器CPU持续100%之等待事件asynch descriptor resize
查看>>
java8中的localdate和localtime用法举例
查看>>
8天学通MongoDB——第四天 索引操作
查看>>
linux命令
查看>>
程序员之路
查看>>
MISP2:初始阶段
查看>>
详解:Redis主从技术的应用
查看>>
maven 笔记,具体配置
查看>>
Linux学习笔记<二十二>——计划任务
查看>>
Python3 通过 pika 连接 RabbitMQ 的基本用法
查看>>
C/C++踩坑记录(二)一段有趣的常量字符串
查看>>
GDI+ 学习记录(2): 画笔线帽 - Cap
查看>>
一张表里的多个字段值 取自 字典表里的text 的查询
查看>>
golang tcp socket
查看>>
特么的程序员励志故事(小IT职员在北京5年买了500W的房子)
查看>>
全选和反选 checkbox
查看>>
wget
查看>>