电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何使用Java操作Zookeeper

瀏覽:95日期:2022-08-13 11:57:44
簡介

Java操作Zookeeper有很多種方式,如zookeeper、zkclient、curator等等,下面介紹下使用zkclient的方式操作Zookeeper。

Maven依賴:

<dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.11</version></dependency>使用zkclient操作Zookeeper

創建節點:

@Testpublic void testCreateNode() {//建立連接//zkServers: Zookeeper服務器IP地址和端口號,如果是集群情況下用逗號分割多個Zookeeper服務器地址//sessionTimeout: 會話超時時間//connectionTimeout: 連接超時時間ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//創建數據Student student = new Student();student.setName('張三');student.setAge(18);student.setPhone('1585454xxxx');//創建持久節點zkClient.createPersistent('/p_node', student);//創建持久順序節點zkClient.createPersistentSequential('/ps_node', student);//創建臨時節點zkClient.createEphemeral('/e_node', student);//創建臨時順序節點zkClient.createEphemeralSequential('/ps_node', student);//關閉客戶端//關閉客戶端的同時,前面創建的臨時節點也會被刪除zkClient.close();}

讀取節點數據:

@Testpublic void testReadNodeData() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);Stat stat = new Stat();Student student = zkClient.readData('/p_node', stat);System.out.println('節點狀態信息:' + JSON.toJSONString(student));System.out.println('節點數據:' + JSON.toJSONString(stat));zkClient.close();}//輸出結果://節點狀態信息:{'age':18,'name':'張三','phone':'1585454xxxx'}//節點數據:{'aversion':0,'ctime':1619165355431,'cversion':0,'czxid':165,'dataLength':260,'ephemeralOwner':0,'mtime':1619165355431,'mzxid':165,'numChildren':0,'pzxid':165,'version':0}

刪除節點:

@Testpublic void testDeleteNode() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//刪除節點,不能刪除帶有子節點的節點zkClient.delete('/p_node');//刪除節點,遞歸刪除所有子孫節點zkClient.deleteRecursive('/p_node2');zkClient.close();}

更新節點數據:

@Testpublic void testWriteNodeData() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//更新節點數據zkClient.writeData('/p_node', 'myData1');//使用CAS更新節點數據//zkClient.writeData('/p_node', 'myData2', 1);zkClient.close();}

獲取子節點列表:

@Testpublic void testGetChildNodes() {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);//獲取子節點列表List<String> childList = zkClient.getChildren('/p_node');childList.stream().forEach(System.out::println);zkClient.close();}節點監聽

Java節點監聽都是永久的,觸發一次后不會被刪除。

監聽節點的子節點變化:

@Testpublic void testSubscribeChildChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeChildChanges('/p_node', new IZkChildListener(){//子節點改變時調用@Overridepublic void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {System.out.println(parentPath + '子節點發生改變');System.out.println('當前子節點列表:' + currentChilds);}});//阻塞客戶端,便于測試System.in.read();}

監聽節點數據變化:

@Testpublic void testSubscribeDataChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeDataChanges('/p_node', new IZkDataListener(){//節點數據改變時調用@Overridepublic void handleDataChange(String dataPath, Object data) throws Exception {System.out.println(dataPath + '節點數據發生變化');System.out.println('修改后的數據為:' + data.toString());}//節點被刪除時調用@Overridepublic void handleDataDeleted(String dataPath) throws Exception {System.out.println(dataPath + '節點已被刪除');}});//阻塞客戶端,便于測試System.in.read();}

監聽Zookeeper連接狀態變化:

@Testpublic void testSubscribeStateChanges() throws IOException {ZkClient zkClient = new ZkClient('127.0.0.1:2181', 60000, 5000);zkClient.subscribeStateChanges(new IZkStateListener(){//當zookeeper連接狀態改變時調用@Overridepublic void handleStateChanged(Watcher.Event.KeeperState state) throws Exception {System.out.println('當前狀態' + state);}//在zookeeper會話過期并且創建了一個新的會話之后調用@Overridepublic void handleNewSession() throws Exception {System.out.println('會話過期,已創建新的會話');}//當會話不能重新建立時調用@Overridepublic void handleSessionEstablishmentError(Throwable error) throws Exception {error.printStackTrace();}});//阻塞客戶端,便于測試System.in.read();}

以上就是如何使用Java操作Zookeeper的詳細內容,更多關于Java操作Zookeeper的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | Win10系统下载_32位/64位系统/专业版/纯净版下载 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 影合社-影视人的内容合作平台 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 365文案网_全网创意文案句子素材站| 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 迪威娱乐|迪威娱乐客服|18183620002 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 |