溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java操作zookeeper實例代碼

發布時間:2021-09-16 20:50:15 來源:億速云 閱讀:155 作者:chen 欄目:數據庫

本篇內容主要講解“java操作zookeeper實例代碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java操作zookeeper實例代碼”吧!

package com.rxzx.demo;

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;

public class ZKDemo {

    //連接zookeeper的超時時長(毫秒)

private static final int OUT_TIME=60000;

//zookeeper集群連接對象

private ZooKeeper zk;

//自定義監聽事件對象

private Watcher wc=new Watcher(){

@Override

public void process(WatchedEvent event) {

// TODO Auto-generated method stub

if(event.getType()==Event.EventType.NodeDataChanged){

System.out.println(event.getPath()+"    "+event.getType());

}else{

System.out.println(event.getPath()+"    "+event.getType());

}

}

};

//獲取監控對象

public Watcher getWatcher(){

return this.wc;

}

//獲取zookeeper集群連接對象

public ZooKeeper getZooKeeper(){

if(zk==null){

try {

zk=new ZooKeeper("192.168.2.100:2181,192.168.2.101:2181,192.168.2.102:2181",OUT_TIME,null);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return zk;

}

//關閉zookeeper連接對象

public void close(){

if(zk!=null){

try {

zk.close();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

ZKDemo zd=new ZKDemo();

try {

//獲取zookeeper連接對象

ZooKeeper zk=zd.getZooKeeper();

//遍歷node節點的子節點

List<String> nodelist=zk.getChildren("/node", zd.getWatcher());

for(String s:nodelist){

System.out.println(s);

}

//創建node的子節點son

//zk.create("/node/son", "hello word".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);

//判斷數據節點是否存在,如果存在則返回該對象

Stat son=zk.exists("/node/son0000000011", zd.getWatcher());

if(son!=null){

System.out.println(son.getCzxid());

}else{

System.out.println("該節點不存在");

}

//對數據節點的數據內容進行修改

//zk.setData("/node/son0000000011", "wwwwww".getBytes(), -1);

//Stat stat=new Stat();

//獲取數據節點的數據內容

//byte[] d=zk.getData("/node/son0000000011", zd.getWatcher(), null);

//System.out.println(new String(d));

//System.out.println(stat.getCzxid());

zk.delete("/node/son4", -1);

System.out.println("操作完成");

} catch (KeeperException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

zd.close();

}

}

}

到此,相信大家對“java操作zookeeper實例代碼”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女