package com.msb.zk.config;
import org.apache.zookeeper.AsyncCallback;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* @author lcc
* @version V1.0
* @Package com.msb.zk.config
* @date 2022/4/22 7:46
*/
public class TestConfig {
ZooKeeper zk;
@Before
public void conn(){
zk = ZkUtils.getZk();
}
@After
public void close(){
try {
zk.close();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Test
public void getConf(){
zk.exists("/AppConf", new Watcher() {
@Override
public void process(WatchedEvent watchedEvent) {
}
}, new AsyncCallback.StatCallback() {
@Override
public void processResult(int i, String s, Object o, Stat stat) {//状态码 路径 状态 状态没有则为null
if(stat!=null){
//获取数据
zk.getData(, );//这里发现 又有watcher 和callback 匿名内部类 可以考虑搞一个工具类
}
}
}, "ABC");//采用异步的方式 看zk是否存在 这里的路径还有前面配置的前缀
}
}