Zookeeper demo增删改查

Zookeeper 的增删改查demo代码

public class SimpleZkClient {

    private static final String connectString = "mini1:2181,mini2:2181,mini3:2181";
    private static final int sessionTimeout = 2000;

    ZooKeeper zkClient = null;

    @Before
    public void init() throws Exception {
        zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                // 收到事件通知后的回调函数(应该是我们自己的事件处理逻辑)
                System.out.println(event.getType() + "---" + event.getPath());
                try {
                    zkClient.getChildren("/", true);
                } catch (Exception e) {
                }
            }
        });

    }

    /**
     * 数据的增删改查
     */

    // 创建数据节点到zk中
    public void testCreate() throws KeeperException, InterruptedException {
        // 参数1:要创建的节点的路径 参数2:节点大数据 参数3:节点的权限 参数4:节点的类型
        String nodeCreated = zkClient.create("/eclipse", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        //上传的数据可以是任何类型,但都要转成byte[]
    }

    //判断znode是否存在
    @Test
    public void testExist() throws Exception{
        Stat stat = zkClient.exists("/eclipse", false);
        System.out.println(stat==null?"not exist":"exist");
    }

    // 获取子节点
    @Test
    public void getChildren() throws Exception {
        List<String> children = zkClient.getChildren("/", true);
        for (String child : children) {
            System.out.println(child);
        }
        Thread.sleep(Long.MAX_VALUE);
    }

    //获取znode的数据
    @Test
    public void getData() throws Exception {
        byte[] data = zkClient.getData("/eclipse", false, null);
        System.out.println(new String(data));
    }

    //删除znode
    @Test
    public void deleteZnode() throws Exception {
        //参数2:指定要删除的版本,-1表示删除所有版本
        zkClient.delete("/eclipse", -1);
    }

    //删除znode
    @Test
    public void setData() throws Exception {
        zkClient.setData("/app1", "imissyou angelababy".getBytes(), -1);
        byte[] data = zkClient.getData("/app1", false, null);
        System.out.println(new String(data));
    }
}
时间: 2024-10-17 01:56:33

Zookeeper demo增删改查的相关文章

zookeeper基本命令,增删改查

zookeeper被广泛的使用,由于项目中用到了dubbo框架,所以今天也来简单分享一下zookeeper的简单命令,来查询服务和节点信息,不说了,直接来增删改查命令. -h命令: [zk: localhost:2189(CONNECTED) 35] h ZooKeeper -server host:port cmd args addauth scheme auth close config [-c] [-w] [-s] connect host:port create [-s] [-e] [-

受老师邀请给学院国创队伍培训php,以一个实战新闻cms增删改查demo为例,写的文档讲义供大家参考

PHP实战基础——以一个新闻cms的增删改查为例 一.        环境配置 二.        数据库创建 三.        增删改查demo 连接数据库 <?php $link=mysql_connect("localhost","root","root"); mysql_select_db("demo",$link); mysql_query("set names utf8"); ?>

MVC4 经典增删改查详情demo

源码 不解释 Mvc4增删改查详情Demo.7z public ActionResult Detail(int? id)  {    ViewData.Model = db.UserInfo.Find(id.Value); //相当于数据集合   return View(); } public ActionResult User() { User user=new User();//实例用户信息模型,前提是定义好 user.name="张三"; user.age="18&qu

TP5学习基础一:增删改查小demo

①TP5--增删改查简单的demo 我先吐槽一下:因为工作需要研究tp5,去官网看了一下哎呦,资源挺多挺全啊!然后下载唯一免费的官方教程,我曹pdf打开533页.讲的很细但是开发能等看完才做吗?看到精简版快速入门的还软妹币20试读3章.寻思找个demo案例吧,要不加群拿源码,要不视频教程收费.特喵的框架是开源的但是教程是收费的.寻思去论坛看看问题,不是我喷好多技术小白的问题,我想看看怎么获取传参传值,泥煤那个系统变量是什么鬼?挣扎了3个小时我放弃了官网.在度娘上找到一个demo,吭哧吭哧啃完.一

hibernate 入门增删改查demo

原文:hibernate 入门增删改查demo 源代码下载地址:http://www.zuidaima.com/share/1550463648238592.htm

SSH登录与增删改查demo详解+源代码

点击下载,测试绝对可用SSH整合框架登录加增删改查demo 下载地址:http://download.csdn.net/detail/qq_33599520/9784679   一.框架概述 spring+Struts2+hibernate(SSH)整合框架是一种非常典型与实用的Web项目MVC架构,其中: Spring主要通过控制反转(IOC)与依赖注入(DI)控制对象的创建与维护,与实现面向切片编程(AOP),核心配置文件为:applicationContext.xml. Struts2是M

Java操作MongoDB增删改查完美Demo

--因为实习工作需要,在学MongoDB,参考了公司的一个MongDB服务类,写了一个整合的Demo,涉及到的大部分的增删改查操作,而且还算规范,给大家参考!源代码:(完整项目文件下载链接:点击打开链接)http://download.csdn.net/detail/zhangliangzi/9555872 使用说明: 一.MongoDB数据库参数配置 1.推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置

zookeeper curator学习(增删改查)(1)

主要参考的是curator,github地址:https://github.com/apache/curator/tree/master/curator-examples. zookeeper版本为zookeeper-3.4.9(需要查找合适的curator版本) 源码地址:https://gitee.com/zhangjunqing/spring-boot/tree/master/zookeeper (1)pom文件如下 <project xmlns="http://maven.apac

ztree--插件实现增删改查demo(完整版)

ztree--插件实现增删改查demo(完整版) var setting = { async: { enable: true,       //开启异步加载处理 dataFilter: filter  //用于对 Ajax 返回数据进行预处理的函数 }, view: { addHoverDom: addHoverDom, removeHoverDom: removeHoverDom, selectedMulti: false, }, check: { enable: false }, data: