小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ZooKeeper學習之路 (五)ZooKeeper API的簡單使用 增刪改查

 HK123COM 2019-02-14
復制代碼
public class ZKDemo1 {
    
    private static final String CONNECT_STRING = "hadoop1:2181,hadoop2:2181,hadoop3:2181";
    //如果zookeeper使用的是默認端口的話,此處可以省略端口號
    //private static final String CONNECT_STRING = "hadoop1,hadoop2,hadoop3";
    
    //設置超時時間
    private static final int SESSION_TIMEOUT = 5000;
    
    public static void main(String[] args) throws Exception {
        //獲取zookeeper的連接
        //沒有配置監(jiān)聽的話,最后一個參數(shù)設為null
        ZooKeeper zk = new ZooKeeper(CONNECT_STRING, SESSION_TIMEOUT, null);
        
        
        
        //創(chuàng)建一個節(jié)點
        /**
         * 四個參數(shù)path, data, acl, createMode
         * path:創(chuàng)建節(jié)點的絕對路徑
         * data:節(jié)點存儲的數(shù)據(jù)
         * acl:權(quán)限控制
         * createMode:節(jié)點的類型----永久、臨時    有編號的、沒有編號的
         * 
         * */
        //String create = zk.create("/xx", "xx".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
        //System.out.println(create);//輸出的結(jié)果是:/xx0000000008
        
        /**
         * 判斷節(jié)點是否存在
         * */
        Stat exists = zk.exists("/xx0000000008", null);
        if(exists == null) {
            System.out.println("節(jié)點不存在");
        }else {
            System.out.println("節(jié)點存在");
        }
        
        
        /**
         * 查看節(jié)點的數(shù)據(jù)
         * 
         * */
        /*byte[] data = zk.getData("/xx0000000008", false, null);
        System.out.println(new String(data));*/
        
        
        /**
         * 修改節(jié)點的數(shù)據(jù)
         * */
        /*Stat setData = zk.setData("/xx0000000008", "xyz".getBytes(), -1);
        if(setData == null) {
            System.out.println("節(jié)點不存在 --- 修改不成功");
        }else {
            System.out.println("節(jié)點存在 --- 修改成功");
        }*/
        
        
        /**
         * 刪除節(jié)點
         * */
        
        /*zk.delete("/xx0000000008", -1);*/
        
        
        
        
        //關閉zookeeper的連接
        zk.close();
    }

}
復制代碼

監(jiān)聽設置

復制代碼
 1 public class ZKDemo2 {
 2     
 3     private static final String CONNECT_STRING = "hadoop1,hadoop2,hadoop3";
 4     private static final int SESSION_TIMEOUT = 5000;
 5     
 6     public static void main(String[] args) throws Exception {
 7 
 8         // 獲取連接
 9         // 當前的這個匿名內(nèi)部類不是已經(jīng)添加好的監(jiān)聽, 以后只要是當前這個zk對象添加了任何的監(jiān)聽器響應了之后,都會調(diào)用這個process方法
10         ZooKeeper zk = new ZooKeeper(CONNECT_STRING, SESSION_TIMEOUT, new Watcher() {
11             
12             @Override
13             public void process(WatchedEvent event) {
14                 
15                 System.out.println("1111111111111111111111");
16                 KeeperState state = event.getState();
17                 String path = event.getPath();
18                 EventType type = event.getType();
19                 
20                 System.out.println(state+"\t"+path+"\t"+type);
21             }
22         });
23         
24         System.out.println("2222222222222222222222");
25         
26         /**
27          * 注冊監(jiān)聽
28          * 第二個參數(shù)有三種傳法:
29          * 
30          * 1、false, 表示不使用監(jiān)聽器
31          * 
32          * 2、watcher對象, 表示當前的這次監(jiān)聽如果響應不了的話,就會回調(diào)當前這個watcher的process方法
33          * 
34          * 3、true,  表示如果當前的會話/zk 所注冊或者添加的所有的監(jiān)聽器的響應,都會會調(diào)用 獲取連接時  初始化的 監(jiān)聽器對象中 的 process 方法
35          */
36         zk.getData("/a/c", true, null);
37         
38         System.out.println("3333333333333333333333333333");
39         Thread.sleep(5000);
40         
41         zk.setData("/a/c", "hehe666".getBytes(), -1);
42         
43         System.out.println("4444444444444444444444444444");
44         
45         zk.close();
46         
47         
48         
49     }
50 
51 }
復制代碼

輸出結(jié)果

復制代碼
2222222222222222222222
1111111111111111111111
SyncConnected    null    None
3333333333333333333333333333
1111111111111111111111
SyncConnected    /a/c    NodeDataChanged
4444444444444444444444444444
復制代碼

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多