ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

ѧºÃZookeeper Java APIÊÇ´óÊý¾Ý»ù´¡¼ÓÇ¿µÄ±ØÐÞ

¸üÐÂʱ¼ä:2018Äê11ÔÂ16ÈÕ15ʱ25·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

org.apache.zookeeper.Zookeeper
Zookeeper ÊÇÔÚ Java Öпͻ§¶ËÖ÷À࣬¸ºÔð½¨Á¢Óë zookeeper ¼¯ÈºµÄ»á»°£¬ ²¢Ìṩ·½·¨½øÐвÙ×÷¡£
org.apache.zookeeper.Watcher
Watcher ½Ó¿Ú±íʾһ¸ö±ê×¼µÄʼþ´¦ÀíÆ÷£¬Æä¶¨ÒåÁËʼþ֪ͨÏà¹ØµÄÂß¼­£¬ °üº¬ KeeperState ºÍ EventType Á½¸öö¾ÙÀ࣬·Ö±ð´ú±íÁË֪ͨ״̬ºÍʼþÀàÐÍ£¬ ͬʱ¶¨ÒåÁËʼþµÄ»Øµ÷·½·¨£ºprocess£¨WatchedEvent event£©¡£
process ·½·¨ÊÇ Watcher ½Ó¿ÚÖеÄÒ»¸ö»Øµ÷·½·¨£¬µ± ZooKeeper Ïò¿Í»§¶Ë·¢ËÍÒ»¸ö Watcher ʼþ֪ͨʱ£¬¿Í»§¶Ë¾Í»á¶ÔÏàÓ¦µÄ process ·½·¨½øÐлص÷£¬´Ó¶øÊµÏÖ¶ÔʼþµÄ´¦Àí¡£
5.1 £® »ù±¾Ê¹ÓÃ
½¨Á¢ java maven ÏîÄ¿,ÒýÈë maven pom ×ø±ê¡£
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>

5.2 £® ¸ü¶à²Ù×÷ʾÀý
public static void main(String[] args) throws Exception {
        // ³õʼ»¯ ZooKeeper ʵÀý(zk µØÖ·¡¢»á»°³¬Ê±Ê±¼ä£¬ÓëϵͳĬÈÏÒ»Ö¡¢watcher)
        ZooKeeper zk = new ZooKeeper("node-21:2181,node-22:2181", 30000, new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                System.out.println("ʼþÀàÐÍΪ£º" + event.getType());
                System.out.println("ʼþ·¢ÉúµÄ·¾¶£º" + event.getPath());
                System.out.println("֪ͨ״̬Ϊ£º" +event.getState());
            }
        });
    // ´´½¨Ò»¸öĿ¼½Úµã
zk.create("/testRootPath", "testRootData".getBytes(), Ids.OPEN_ACL_UNSAFE,
   CreateMode.PERSISTENT);  
// ´´½¨Ò»¸ö×ÓĿ¼½Úµã
zk.create("/testRootPath/testChildPathOne", "testChildDataOne".getBytes(),
   Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);  
System.out.println(new String(zk.getData("/testRootPath",false,null)));  
// È¡³ö×ÓĿ¼½ÚµãÁбí
System.out.println(zk.getChildren("/testRootPath",true));  
// ÐÞ¸Ä×ÓĿ¼½ÚµãÊý¾Ý
zk.setData("/testRootPath/testChildPathOne","modifyChildDataOne".getBytes(),-1);  
System.out.println("Ŀ¼½Úµã״̬£º["+zk.exists("/testRootPath",true)+"]");  
// ´´½¨ÁíÍâÒ»¸ö×ÓĿ¼½Úµã
zk.create("/testRootPath/testChildPathTwo", "testChildDataTwo".getBytes(),  
   Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);  
System.out.println(new String(zk.getData("/testRootPath/testChildPathTwo",true,null)));  
// ɾ³ý×ÓĿ¼½Úµã
zk.delete("/testRootPath/testChildPathTwo",-1);  
zk.delete("/testRootPath/testChildPathOne",-1);  
// ɾ³ý¸¸Ä¿Â¼½Úµã
zk.delete("/testRootPath",-1);
zk.close();
}

×÷ÕߣºÀÖÓã²¥¿ÍÔÆ¼ÆËã´óÊý¾ÝÅàѵѧԺ
Ê×·¢£ºhttp://cloud.itcast.cn/
0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿