ZooKeeper還爲客戶端提供了Java API編程接口的方式。API接口主要是ZooKeeper類中的方法,下面列舉幾個經常使用的客戶端操做的Java代碼示例。編程
建立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 |
獲取路徑關聯數據。對應get命令。get
ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this);io String data = zk.getData("/test", false,null); event |
設置節點關聯數據。對應set命令。
ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this); zk.setData ("/test", "Welcome".getBytes(), -1); |
獲取子節點路徑列表。對應ls命令。
ZooKeeper zk= new ZooKeeper("127.0.0.1",SESSION_TIME,this); List<String> list = zk.getChildren("/", false); |
設置觀察者:
只要在實例化ZooKeeper類時指定Watcher實現便可實現ZooKeeper事件,Watcher實現只須要實現process接口方法便可。
示例代碼:
zk = new ZooKeeper(address, sessionTimeout, new Watcher() { // 監控全部被觸發的事件 public void process(WatchedEvent event) { System.out.println("觸發事件:" + event.getType()); } }); |
這段代碼監聽ZooKeeper全部變化,事件處理代碼是打印event類型。