向Zookeeper中注册内容以及从zookeeper中发现内容
admin
2024-03-22 00:58:21

一、向Zookeeper中注册内容

新建项目ZookeeperClient

1 创建/demo

使用zookeeper的客户端命令工具创建/demo

./zkCli.sh
create /demos

2 添加依赖

org.apache.zookeeperzookeeper3.5.5

3 编写代码

创建类com.msb.MyApp。

ZooDefs.Ids.OPEN_ACL_UNSAFE 表示权限。

CreateMode.PERSISTENT_SEQUENTIAL 永久存储,文件内容编号递增。

public static void main(String [] args){try {ZooKeeper zookeeper = new ZooKeeper("192.168.32.128:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("获取连接");}});String content = zookeeper.create("/demo/nn", "content".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);System.out.println("content"+content);} catch (IOException e) {e.printStackTrace();} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}
}

4 查看上传数据

ls -R / :查看列表

get /demo/nn0000000002 :查看内容

二、 从zookeeper中发现内容

在原有项目中新建一个类,类中编写主方法。

public static void main(String[] args) {try {ZooKeeper zookeeper = new ZooKeeper("192.168.32.128:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("获取连接");}});//获取列表List list = zookeeper.getChildren("/demo", false);for (String child : list) {byte[] result = zookeeper.getData("/demo/" + child, false, null);System.out.println(new String(result));}} catch (IOException e) {e.printStackTrace();} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}
}

相关内容

热门资讯

教师专享福利!北京这些景区免票... 新京报讯 据首都教育消息,教师节将至,北京多家景区为老师们准备了专属免票福利!这份优惠合集已整理好,...
黑茶,喝的是一种境界与健康 在专门用来喝黑茶的茶具“飘逸杯”里,黑茶茶汤看起来并不像“黑茶”这个名字那样黑黢黢的一团。 玻璃器皿...
上海旅游节大巡游花车阵容抢先看... 2026上海旅游节大巡游9月12日外滩启幕,21辆全新主题花车携手21支境内外表演方队联袂登场,邀你...
原创 8... 上周门诊来了位 62 岁的张阿姨,得糖尿病快五年了,平时管嘴特别严,糖果、点心、甜饮料一概不碰,连水...
原创 餐... 2026年9月8日晚,南京浦口区泰冯路29号,墨语江南·阿婆菜餐厅户外帐篷里,灯火温润,其间还天降喜...