Java tutorial
/** * Copyright (c) 2016 Baozun All Rights Reserved. * * This software is the confidential and proprietary information of Baozun. * You shall not disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Baozun. * * BAOZUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. BAOZUN SHALL NOT BE LIABLE FOR ANY DAMAGES * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING * THIS SOFTWARE OR ITS DERIVATIVES. * */ package com.discovery.darchrow; import java.util.Arrays; import java.util.List; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs; import org.apache.zookeeper.ZooKeeper; public class ZookeeperClientTest { // public static final String ROOT = "/root-ktv"; public static void main(String[] args) throws Exception { // ? ZooKeeper zk = new ZooKeeper("localhost:2181", 30000, new Watcher() { // ? public void process(WatchedEvent event) { System.out.println("?:" + event.getState() + ":" + event.getType() + ":" + event.getWrapper() + ":" + event.getPath()); } }); // ktv??????? zk.create(ROOT, "root-ktv".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // ??KTV , PERSISTENT_SEQUENTIAL 0000000000 ? zk.create(ROOT + "/?KTV", "?KTV".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); // ?, EPHEMERAL session zk.create(ROOT + "/KTV", "KTV".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL); // ???EPHEMERAL_SEQUENTIAL session ? zk.create(ROOT + "/KTV-", "KTV-".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); // ? ? ktv List<String> ktvs = zk.getChildren(ROOT, true); System.out.println(Arrays.toString(ktvs.toArray())); for (String node : ktvs) { // zk.delete(ROOT + "/" + node, -1); } // ? zk.delete(ROOT, -1); zk.close(); } }