Maven_Zookeeper 实例

Linux_Zookeeper 安装笔记

这里写图片描述

CuratorUtil.java

package com.demo.util;

import java.util.List;

import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.RetryNTimes;
import org.apache.zookeeper.data.Stat;

public class CuratorUtil {
    private static final String ZK_ADDRESS = "192.168.216.138:2181,192.168.216.139:2181,192.168.216.140:2181";
    private static CuratorFramework client;

    static {
        client = CuratorFrameworkFactory.newClient(ZK_ADDRESS, new RetryNTimes(10, 5000));
        client.start();
    }

    public static String create(String zkPath, String data) throws Exception {
        print("create", zkPath, data);
        return client.create().creatingParentsIfNeeded().forPath(zkPath, data.getBytes());
    }

    public static List<String> getChildren(String zkPath) throws Exception {
        print("ls", zkPath);
        List<String> children = client.getChildren().forPath(zkPath);
        print(children);
        return children;
    }

    public static String getData(String zkPath) throws Exception {
        print("get", zkPath);
        return new String(client.getData().forPath(zkPath));
    }

    public static Stat setData(String zkPath, String data) throws Exception {
        print("set", zkPath, data);
        return client.setData().forPath(zkPath, data.getBytes());
    }

    public static Void delNode(String zkPath) throws Exception {
        print("delete", zkPath);
        return client.delete().forPath(zkPath);
    }

    private static void print(String... cmds) {
        StringBuilder text = new StringBuilder("$ ");
        for (String cmd : cmds) {
            text.append(cmd).append(" ");
        }
        System.out.println(text.toString());
    }

    private static void print(Object result) {
        System.out.println(result instanceof byte[] ? new String((byte[]) result) : result);
    }

}

CuratorTest.java

package com.zookeeper.test;

import org.junit.Test;

import com.demo.util.CuratorUtil;

public class CuratorTest {
    private static final String ZK_ROOT = "/";
    private static final String ZK_PATH = "/demo";

    @Test
    public void create() throws Exception {
        // 清掉ZK_PATH节点
        CuratorUtil.delNode(ZK_PATH);

        // 查询ZK_ROOT子节点
        CuratorUtil.getChildren(ZK_ROOT);

        // 创建ZK_PATH节点
        CuratorUtil.create(ZK_PATH, "zhangsan");

        // 查询ZK_ROOT子节点
        CuratorUtil.getChildren(ZK_ROOT);

        // 查询ZK_PATH节点值
        CuratorUtil.getData(ZK_PATH);

        // 修改ZK_PATH节点值
        CuratorUtil.setData(ZK_PATH, "lisi");

        // 查询ZK_PATH节点值
        CuratorUtil.getData(ZK_PATH);

        // 删除ZK_PATH节点
        CuratorUtil.delNode(ZK_PATH);

        // 查询ZK_ROOT子节点
        CuratorUtil.getChildren(ZK_ROOT);
    }
}

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.demo</groupId>
    <artifactId>maven-zookeeper</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.12.0</version>
        </dependency>
    </dependencies>
</project>

maven-zookeeper 实例源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值