java_api操作zookeeper节点
2017-08-18 21:33
585 查看
package com.sanlen.zookeeper.test;
import java.util.Iterator;
import java.util.List;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;
import com.google.gson.Gson;
public class ZookeeperTest1 {
ZooKeeper zk=null;
@Before
public void init() throws Exception{
zk=new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
}
/**
*增加节点
* @throws Exception
*/
@Test
public void createNode() throws Exception{
//创建临时的带序号的节点
// String create = zk.create("/eclipse/aaa", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
//创建永久的带序号的节点
// String create = zk.create("/persistent", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
//创建临时的不带序号的节点
// String create =
c364
zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
//创建永久的不带序号的
String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(create);
Thread.sleep(8000);
zk.close();
}
/**
*删除节点
* @throws Exception
*/
@Test
public void delNode() throws Exception{
zk.delete("/ephemeral", -1);
zk.close();
}
/**
* 修改节点
* @throws Exception
*/
@Test
public void testSetData() throws Exception{
Stat setData = zk.setData("/eclipse", "eclipse vs idea".getBytes(), -1);
byte[] data = zk.getData("/eclipse", false, null);
System.out.println(new String(data,"utf-8"));
zk.close();
}
/**
* 判断一个节点是否存在
* @throws Exception
*/
@Test
public void testExist() throws Exception{
Stat exists = zk.exists("/eclipse/eee", false);
System.out.println(exists==null?"不存在":"存在");
zk.close();
}
/**
* 查询目录下的字节点
* @throws Exception
*/
@Test
public void testGetChildren() throws Exception{
List<String> child = zk.getChildren("/", false);
for (String string : child) {
System.out.println(string);
}
zk.close();
}
/**
* 存储一个对象的到zookeeper中
* @throws Exception
*/
@Test
public void testPutObjectIntoZookeeper() throws Exception{
Person p1=new Person("angleBaby");
Gson gson=new Gson();
String json=gson.toJson(p1);
Stat setData = zk.setData("/aaa", json.getBytes(), -1);
byte[] data = zk.getData("/aaa", false, null);
String jsonBack=new String(data);
Person p = gson.fromJson(jsonBack,Person.class);
System.out.println(p.getName());
zk.close();
}
/**
* 查询节点的值
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ZooKeeper zooKeeper = new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
byte[] data = zooKeeper.getData("/aaa/bbb", false, null);
System.err.println(new String(data));
zooKeeper.close();
}
}
import java.util.Iterator;
import java.util.List;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;
import com.google.gson.Gson;
public class ZookeeperTest1 {
ZooKeeper zk=null;
@Before
public void init() throws Exception{
zk=new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
}
/**
*增加节点
* @throws Exception
*/
@Test
public void createNode() throws Exception{
//创建临时的带序号的节点
// String create = zk.create("/eclipse/aaa", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
//创建永久的带序号的节点
// String create = zk.create("/persistent", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
//创建临时的不带序号的节点
// String create =
c364
zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
//创建永久的不带序号的
String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(create);
Thread.sleep(8000);
zk.close();
}
/**
*删除节点
* @throws Exception
*/
@Test
public void delNode() throws Exception{
zk.delete("/ephemeral", -1);
zk.close();
}
/**
* 修改节点
* @throws Exception
*/
@Test
public void testSetData() throws Exception{
Stat setData = zk.setData("/eclipse", "eclipse vs idea".getBytes(), -1);
byte[] data = zk.getData("/eclipse", false, null);
System.out.println(new String(data,"utf-8"));
zk.close();
}
/**
* 判断一个节点是否存在
* @throws Exception
*/
@Test
public void testExist() throws Exception{
Stat exists = zk.exists("/eclipse/eee", false);
System.out.println(exists==null?"不存在":"存在");
zk.close();
}
/**
* 查询目录下的字节点
* @throws Exception
*/
@Test
public void testGetChildren() throws Exception{
List<String> child = zk.getChildren("/", false);
for (String string : child) {
System.out.println(string);
}
zk.close();
}
/**
* 存储一个对象的到zookeeper中
* @throws Exception
*/
@Test
public void testPutObjectIntoZookeeper() throws Exception{
Person p1=new Person("angleBaby");
Gson gson=new Gson();
String json=gson.toJson(p1);
Stat setData = zk.setData("/aaa", json.getBytes(), -1);
byte[] data = zk.getData("/aaa", false, null);
String jsonBack=new String(data);
Person p = gson.fromJson(jsonBack,Person.class);
System.out.println(p.getName());
zk.close();
}
/**
* 查询节点的值
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ZooKeeper zooKeeper = new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
byte[] data = zooKeeper.getData("/aaa/bbb", false, null);
System.err.println(new String(data));
zooKeeper.close();
}
}
相关文章推荐
- Zoookeeper_Java API操作zookeeper 通过zookeeper.jar
- ZooKeeper_6_Java操作ZK_删除节点
- ZooKeeper之Java客户端API使用—创建节点。
- Zookeeper系列(八)Zookeeper客户端(JAVA)API之修改、删除节点
- Zookeeper系列(五)Zookeeper客户端(JAVA)API之创建节点
- Zookeeper系列(八)Zookeeper客户端(JAVA)API之节点检查和权限控制
- Zookeeper(五)Java客户端节点操作
- ZooKeeper之Java客户端API使用—检测节点是否存在
- zookeeper JAVA API 简单操作
- zookeeper学习之java api查找并删除节点<五>
- ZooKeeper之Java客户端API使用—删除节点。
- ZooKeeper_Java操作(创建节点/获取节点/删除节点)
- ZooKeeper_9_Java操作ZK_检测节点
- Zookeeper系列(六)Zookeeper客户端(JAVA)API之创读取子节点列表
- Zookeeper 命令行操作及Java api
- zookeeper JavaAPI入门操作
- 使用Java客户端API操作Zookeeper
- Zookeeper客户端基本操作java实现——创建连接、创建节点、添加修改节点内容、获取子节点、获取节点数据、删除节点
- ZooKeeper_5_Java操作ZK_创建节点
- Zookeeper学习之源生API的使用(java与shell操作zookeeper)。