博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zookeeper(4)---监听器Watcher
阅读量:4086 次
发布时间:2019-05-25

本文共 1382 字,大约阅读时间需要 4 分钟。

package com.cn.zookeeper;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooKeeper;import org.junit.Test;import java.io.IOException;/** * Zookeeper监听器设置 * */public class ZKWatcher {    private static final String CONNECT_STRING="hadMaster01,hadMaster02,hadSlave01,hadSlave02,hadSlave03";    private static final int SESSION_TIMEOUT=50000;    @Test    public void test() throws IOException, KeeperException, InterruptedException {        //获取连接        ZooKeeper zk=new ZooKeeper(CONNECT_STRING,SESSION_TIMEOUT,new Watcher(){            @Override            public void process(WatchedEvent watchedEvent) {                Event.KeeperState state=watchedEvent.getState();                String path= watchedEvent.getPath();                Event.EventType type= watchedEvent.getType();                System.out.println(state+"\t"+path+"\t"+type);            }        });        /**         * 注册监听器         * 第二个参数有三种传入方法         * 1、false表示不使用监听器;         * 2.watcher对象,表示当前的这次监听如果响应不了的话,就会回调当前这个watcher的process方法         * 2、true表示如果当前的会话/zk所注册或者添加的所有的监听器的响应,都会调用获取连接时初始化的监听器对象中的process方法         * */        zk.getData("/cc0000000009",true,null);        Thread.sleep(5000);        zk.setData("/cc0000000009","hello World".getBytes(),-1);        zk.close();    }}

执行结果:

监听器监听到节点数据改变了

转载地址:http://tluii.baihongyu.com/

你可能感兴趣的文章
const、static、const static、static const关键字的初始化
查看>>
结构体中包裹变量实现改值
查看>>
linux下生成动态库和静态库的方法
查看>>
execv函数族
查看>>
pipe实现管道命令
查看>>
mmap相关
查看>>
signal信号相关
查看>>
线程相关
查看>>
cmakelist.demo
查看>>
使用指针访问虚函数表
查看>>
c++11使用atomic多线程同步3种方法
查看>>
使用C语言内嵌汇编实现CAS
查看>>
使用CAS实现单例模式
查看>>
玩转c++模板模板参数
查看>>
STL list sort
查看>>
c++11遍历打印tuple(借助模版参数)
查看>>
动态规划:“杨辉三角”
查看>>
动态规划:硬币找零
查看>>
实现C++字符串的spilt
查看>>
[重新解答]阿里笔试:去重和排序,重新输出Markdown格式
查看>>