zookeeper javaAPI

znode是zooKeeper集合的核心組件,zookeeper API提供了一小組方法使用 zookeeper集合來操縱znode的所有細(xì)節(jié)。

1.連接到ZooKeeper

ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)

connectionString : zookeeper主機(jī)
sessionTimeout :會話超時(以毫秒為單位)
watcher :實現(xiàn)“監(jiān)視器”對象。zookeeper集合通過監(jiān)視器對象返回連接狀態(tài)。

2.新增節(jié)點

// 同步方式 
create(String path, byte[] data, List<ACL> acl, CreateMode createMode) 
// 異步方式
 create(String path, byte[] data, List<ACL> acl, CreateMode createMode, AsyncCallback.StringCallback callBack,Object ctx)

path : znode路徑。例如,/node1 /node1/node11
data : 要存儲在指定znode路徑中的數(shù)據(jù)
acl : 要創(chuàng)建的節(jié)點的訪問控制列表。zookeeper API提供了一個靜態(tài)接口 ZooDefs.Ids 來獲取一些基本的acl列表。如ZooDefs.Ids.OPEN_ACL_UNSAFE 返回打開znode的acl列表。
createMode : 節(jié)點的類型,這是一個枚舉。
callBack:異步回調(diào)接口
ctx:傳遞上下文參數(shù)

3.更新節(jié)點

// 同步方式 
setData(String path, byte[] data, int version) 
// 異步方式 
setData(String path, byte[] data, int version,AsyncCallback.StatCallback callBack, Object ctx)

path: znode路徑
data :要存儲在指定znode路徑中的數(shù)據(jù)。
version: znode的當(dāng)前版本。每當(dāng)數(shù)據(jù)更改時,ZooKeeper會更新znode的版本 號。
callBack:異步回調(diào)接口
ctx:傳遞上下文參數(shù)

4.刪除節(jié)點

// 同步方式 
delete(String path, int version) 
// 異步方式 
delete(String path, int version, AsyncCallback.VoidCallback callBack, Object ctx)

path : znode路徑。
version : znode的當(dāng)前版本
callBack:異步回調(diào)接口
ctx:傳遞上下文參數(shù)

5.查看節(jié)點

// 同步方式 
getData(String path, boolean b, Stat stat) 
// 異步方式 
getData(String path, boolean b,AsyncCallback.DataCallback callBack, Object ctx)

path : znode路徑。
b:是否使用連接對象中注冊的監(jiān)視器。
stat : 返回znode的元數(shù)據(jù)。
callBack:異步回調(diào)接口
ctx:傳遞上下文參數(shù)

6.查看子節(jié)點

// 同步方式 
getChildren(String path, boolean b) 
// 異步方式 
getChildren(String path, boolean b,AsyncCallback.ChildrenCallback callBack,Object ctx)

path :Znode路徑。
b: 是否使用連接對象中注冊的監(jiān)視器。
callBack:異步回調(diào)接口。
ctx:傳遞上下文參數(shù)

7.檢查節(jié)點是否存在

// 同步方法 
exists(String path, boolean b) 
// 異步方法 
exists(String path, boolean b,AsyncCallback.StatCallback callBack,Object ctx)

path:znode路徑。
b:是否使用連接對象中注冊的監(jiān)視器。
callBack:異步回調(diào)接口。
ctx:傳遞上下文參數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、ZooKeeper 會話 ??zkCli 只能作為一個調(diào)試工具,實際開發(fā)中用的最底層的是 ZooKeeper ...
    小胡_鴨閱讀 797評論 0 0
  • 本篇將會介紹Zookeeper自帶的客戶端腳本,Java客戶端API和開源客戶端。 1、客戶端腳本 在Zookee...
    OverCoding閱讀 4,561評論 0 0
  • 前言 上篇我們從zookeeper安裝到cli命令行的使用,以及zookeeper的源代碼編譯運(yùn)行進(jìn)行了學(xué)習(xí),本篇...
    逐夢々少年閱讀 855評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評論 19 139
  • 夜鶯2517閱讀 128,214評論 1 9

友情鏈接更多精彩內(nèi)容