zookeeper(二) API开发

1、ZooKeeper API 简介
ZooKeeper API 共包含 5 个包,分别为:
org.apache.zookeeper ;
org.apache.zookeeper.data ;
org.apache.zookeeper.server ;
org.apache.zookeeper.server.quorum ;
org.apache.zookeeper.server.upgrade ;
其中 org.apache.zookeeper 包含 ZooKeeper 类,它我们编程时最常用的类文件。
这个类是 ZooKeeper 客户端库的主要类文件。如果要使用 ZooKeeper 服务,应用程序首先必须创建一个Zookeeper 实例,这时就需要使用此类。一旦客户端和 ZooKeeper 服务建立起连接, ZooKeeper 系统将会分配给此连接回话一个 ID 值,并且客户端将会周期地向服务器发送心跳来维持会话的连接。只要连接有效,客户端就可以调用 ZooKeeper API 来做相应的处理。
这里写图片描述
pom.xml:

    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.4.6</version>
    </dependency>

import java.io.IOException;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.junit.Before;
import org.junit.Test;
/**
 * <p>功能描述:</p>
 * <p>Company: 上海******有限公司</p>
 * @author Jeff
 * @version 1.0 2016年1月20日
 */
public class ZookeeperTest {
    //设置会话超时时间,设置与系统默认时间一致
    private static final int SESSION_TIMEOUT = 30000;
    private final String CONNECTSTR = "192.168.0.233:2181";

    //创建zookeeper实例
    ZooKeeper zk;

    //创建Watcher实例
    Watcher wh = new Watcher(){
        public void process(org.apache.zookeeper.WatchedEvent event){
            System.out.println(event.toString());
        }
    };

    @Before
    public void init() throws IOException{
        System.out.println("....zk init().....");
        zk = new ZooKeeper(CONNECTSTR, SESSION_TIMEOUT, wh);
    }

    @Test
    public void zkService() throws IOException,KeeperException, InterruptedException{
        System.out.println("create ZooKeeper node ...... ");
        zk.create("/zoo1", "panda,monkey,tigger".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        System.out.println("/zoo1 node is exists:" + zk.exists("/zoo1", false));
        System.out.println("zk get data:"+new String(zk.getData("/zoo1", false, null)));
        System.out.println("updateing zk data......");
        zk.setData("/zoo1", "pig,cow,duck".getBytes(), -1);
        System.out.println("update result:"+new String(zk.getData("/zoo1", false, null)));
        System.out.println("deleteing znode ......");
        zk.delete("/zoo1", -1);
        System.out.println("/zoo1 node is exists:" + zk.exists("/zoo1", false));
        this.zkClose();
    }

    public void zkClose() throws InterruptedException{
        zk.close();
    }


}

zookeeper3.4.7API地址:http://zookeeper.apache.org/doc/r3.4.7/api/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值