博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZooKeeper3.4.5-最基本API开发
阅读量:6249 次
发布时间:2019-06-22

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

hot3.png

package cn.itcast.bigdata.zk;import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;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;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) {				}			}		});	}	/**	 * 数据的增删改查	 * 	 * @throws InterruptedException	 * @throws KeeperException	 */	// 创建数据节点到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
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)); } }

转载于:https://my.oschina.net/hengbao666/blog/1632679

你可能感兴趣的文章
分布式拒绝服务攻击 DDoS
查看>>
Netstat命令详解
查看>>
软件测试面试题整理
查看>>
Jmeter-Maven-Plugin高级应用:Proxy Configuration
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>
让一个做了10PHPer的妹子员告诉你PHP7 的新特性的使用
查看>>
OPPO 立足国内放眼世界 寻求新的增长引擎
查看>>
Roadstar公司CTO衡量回应合伙人周光被开除:怎奈遇人不淑
查看>>
小米武汉总部开工雷军亲自出席:远期在汉要招上万人
查看>>
传贾跃亭将FF股份交给友人代持以规避失信人限制
查看>>
豆盟递交招股书:单季利润1394万 蓝标为第二大股东
查看>>
申小雨命案审理延期至3月5日 警方将翻译嫌犯口供
查看>>
第五届中欧文化艺术节开幕 谭盾“领衔”献艺
查看>>
财政部:2018年全国财政收入超18万亿元 同比增6.2%
查看>>
C罗失点 尤文图斯3:0切沃延续联赛不败纪录
查看>>
湖北整治清退非法码头 为长江“留白增绿”
查看>>
为什么要把网站升级到HTTPS
查看>>
【Hello CSS】序章-起源
查看>>
转行IT要趁早,多迪教育新就业数据告诉你真相
查看>>
JavaScript深入之参数按值传递
查看>>