maven导包方式,无架构;
工程目录
将 zookeeper-3.6.2-bin.tar.gz 中解压缩,复制 conf/logfj.properties 文件到工程 resource 文件夹里,用来打印
pom.xml
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">
4.0.0
com.xian
zookeeper
1.0-SNAPSHOT
org.apache.zookeeper
zookeeper
3.5.7
MyWatcher.java
package com.xian;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import java.nio.file.Watchable;
/**
* Author: sxg
* Date: 2020-10-17 18:26
* Description: 描述
*/
public class MyWatcher implements Watcher {
@Override
public void process(WatchedEvent watchedEvent) {
System.out.println("MyWatcher.process==============" + watchedEvent);
}
}
DataWatcher.java
package com.xian;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
/**
* Author: sxg
* Date: 2020-10-17 19:55
* Description: 描述
*/
public class DataWatcher implements Watcher {
@Override
public void process(WatchedEvent watchedEvent) {
System.out.println("DataWatcher.process==============" + watchedEvent);
}
}
HelloZookeeper.java
package com.xian;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import java.io.IOException;
import java.util.List;
/**
* Author: sxg
* Date: 2020-10-17 18:23
* Description: 描述
*/
public class HelloZookeeper {
public static void main(String[] args) throws IOException, InterruptedException, KeeperException {
String server_host_port = "localhost:2181"; // 用 localhost可以连接
//String server_host_port = "127.0.0.1:2181"; // 用本机 ip 也可以连接
//String server_host_port = "192.168.1.100:2181"; // 这里连虚拟机的 ip 就连不上
int sessionTimeout = 3000;
MyWatcher myWatcher = new MyWatcher();
ZooKeeper zkClient = new ZooKeeper(server_host_port, sessionTimeout, myWatcher);
// 获取客户端的状态
//Thread.sleep(4000);
//System.out.println(zkClient.getState()); //CONNECTING 睡眠 4秒后,这里的值 也不变
// 获取节点的内容,即它的子节点
//List children = zkClient.getChildren("/", true); // 默认使用Zookeeper() 构造器中的 watch
/