ZooKeeper源碼解析(二)-Java編程API

ZooKeeper還爲客戶端提供了Java API編程接口的方式。API接口主要是ZooKeeper類中的方法,下面列舉幾個經常使用的客戶端操做的Java代碼示例。編程

create

建立ZooKeeper路徑節點,參數需提供路徑名稱和路徑關聯數據。對應create命令。session

示例代碼以下:this

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this); zk.create("/test","Hello".getBytes(), null, CreateMode.PERSISTENT);  spa

 

刪除

刪除路徑,對應delete命令。接口

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);事件

zk.delete("/test", -1); ci

 

getData

獲取路徑關聯數據。對應get命令。get

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);io

String data  = zk.getData("/test", false,null); event

 

setData

設置節點關聯數據。對應set命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

zk.setData ("/test", "Welcome".getBytes(), -1);

 

 getChildren

獲取子節點路徑列表。對應ls命令。

ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);

List<String> list = zk.getChildren("/", false); 

 

Watcher

設置觀察者:

只要在實例化ZooKeeper類時指定Watcher實現便可實現ZooKeeper事件,Watcher實現只須要實現process接口方法便可。

示例代碼:

zk = new ZooKeeper(address, sessionTimeout, new Watcher() { 

     // 監控全部被觸發的事件 

     public void process(WatchedEvent event) { 

           System.out.println("觸發事件:" + event.getType()); 

    } 

});  

這段代碼監聽ZooKeeper全部變化,事件處理代碼是打印event類型。

相關文章
相關標籤/搜索