<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.0</version>
</dependency>
package top.xiongmingcai.zookeeper;
import org.apache.zookeeper.*;
import org.junit.FixMethodorder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
import java.io.IOException;
@FixMethodorder(MethodSorters.NAME_ASCENDING) // 按方法名首字母顺序执行
public class CurdZkTest {
private static final String SERVER_PATH = "127.0.0.1:2181";
private static final int TIMEOUT = 5000;
private static final String PATH = "/node_1";
private static ZooKeeper zk;
static {
Watcher watcher =
event -> {
System.out.println("--> event : " + event);
};
try {
zk = new ZooKeeper(SERVER_PATH, TIMEOUT, watcher);
} catch (IOException e) {
throw new RuntimeException("", e);
}
}
@Test
public void a_stat() {
System.out.println("zk.getState() = " + zk.getState());
}
@Test
public void b_createNode() throws KeeperException, InterruptedException {
byte[] bytes = "hello world".getBytes();
zk.create(PATH, bytes, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
@Test
public void c_getNode() throws KeeperException, InterruptedException {
byte[] data = zk.getData(PATH, null, null);
System.out.println("设置的值 = " + new String(data));
}
@Test
public void d_setNode() throws KeeperException, InterruptedException {
zk.setData(PATH, "hello google".getBytes(), 0);
}
@Test
public void e_getNode2() throws KeeperException, InterruptedException {
byte[] data = zk.getData(PATH, null, null);
System.out.println("改变后的值 = " + new String(data));
}
@Test
public void f_delete2() throws KeeperException, InterruptedException {
//zk.delete(PATH, 0);// 会抛异常因为版本相同
zk.delete(PATH, 1);//version 要递增
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。