Zookeeper实例Curator API-ZKPaths使用

来源:互联网 发布:淘宝店铺基本运营分析 编辑:程序博客网 时间:2024/05/16 19:19

ZkPaths提供了一些简单的API来构造ZNode路径、提供创建和删除节点等,其使用方式非常简单。可以看下面例子

import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.curator.utils.ZKPaths;import org.apache.curator.utils.ZKPaths.PathAndNode;import org.apache.zookeeper.ZooKeeper;/** * * @ClassName: ZKPaths_Sample * @Description: TODO(ZKPaths使用) * @author RongShu* @date 2017年6月17日 下午2:18:34 * */public class ZKPaths_Sample {static String path = "/curator_zkpath_sample";static CuratorFramework client = CuratorFrameworkFactory.builder().connectString("localhost:2181").sessionTimeoutMs(5000).retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();public static void main(String[] args) throws Exception {client.start();ZooKeeper zookeeper = client.getZookeeperClient().getZooKeeper();System.out.println(ZKPaths.fixForNamespace(path, "sub"));System.out.println(ZKPaths.makePath(path, "sub"));System.out.println(ZKPaths.getNodeFromPath("/curator_zkpath_sample/sub1"));PathAndNode pn = ZKPaths.getPathAndNode("/curator_zkpath_sample/sub1");System.out.println(pn.getPath());System.out.println(pn.getNode());String dir1 = path + "/child1";String dir2 = path + "/child2";ZKPaths.mkdirs(zookeeper, dir1);ZKPaths.mkdirs(zookeeper, dir2);System.out.println(ZKPaths.getSortedChildren(zookeeper, path));ZKPaths.deleteChildren(client.getZookeeperClient().getZooKeeper(), path, true);}}输出/curator_zkpath_sample/sub/curator_zkpath_sample/subsub1/curator_zkpath_samplesub1[child1, child2]

参考

1.《从Paxos到Zookeeper:分布式一致性原理与实践》

2. http://curator.apache.org/apidocs/index.html


原创粉丝点击