1、目的
zookeeper是一个分布式服务管理框架。zookeeper提供了对client的通知。即在server端的节点有改动或者删除的时候,能够给client进行通知。

2、server端部署
server端部署zookeeper的步骤省略。详细的能够參看我前面的文章。部署也比較简单。

3、client接收通知代码

import java.io.IOException;
import java.util.List;import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.Watcher.Event.EventType;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;class Wa implements Runnable
{public void run() {//连接启动ktry {ZooKeeper zk = new ZooKeeper("10.218.137.73:2181", 500000,new Watcher() {// 监控全部被触发的事件public void process(WatchedEvent event) {System.out.println("changing...");}});//设置监听器 Watcher wc = new Watcher() {public void process(WatchedEvent event) {// TODO Auto-generated method stubif (event.getType() == EventType.NodeDataChanged) {  System.out.println("change"); }  if (event.getType() == EventType.NodeDeleted){  System.out.println("dele");  }  if(event.getType()== EventType.NodeCreated){ System.out.println("create"); }}};//进行轮询。当中exists方法用来询问状态,而且设置了监听器,假设发生变化,则会回调监听器里的方法。

while(true) { zk.exists("/jianghuiwen", wc); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (KeeperException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public class Main { public static void main(String[] args) throws IOException, KeeperException, InterruptedException { // TODO Auto-generated method stub Thread t = new Thread(new Wa()); t.start(); } }

直接贴了代码,没有加上各种jar包,假设同学们要执行的话,须要先设置一下相关的jar包。应该就是Log4j和zookeeper的包。

4、測试
利用zookeeper自带的zkCli.sh或者用其它对节点进行改动的client进行改动节点。能够发现我们得到了以下的输出:

转载于:https://www.cnblogs.com/gccbuaa/p/7185747.html

zookeeperclient设置监听相关推荐

  1. springboot+flowable第四节(设置监听事件)

    目录 1. 执行监听事件写法 2. 任务监听事件写法 3. 创建流程 4. 事件执行类 5. 启动流程 监听事件分为:执行监听.任务监听. 1. 执行监听事件写法 <flowable:execu ...

  2. Tomcat设置监听端口80、配置虚拟主机、安装zrlog博客、日志文件

    设置Tomcat监听端口为80 默认Tomcat监听端口为8080端口,如果是在lnmp环境下,我们必须停用作用80端口的nginx: /etc/init.d/nginx stop //停用nginx ...

  3. oracle 设置监听和服务,oracle服务端和客户端之间的网络监听设置

    下面为您介绍的是oracle服务端和客户端之间的网络监听设置,如果您在oracle服务端和客户端之间的网络监听设置方面遇到过类似的问题,不妨一看. oracle服务端和客户端之间的网络监听设置 假如我 ...

  4. oracle 设置监听和服务,oracle服务端和客户端之间的网络监听如何设置呢?

    racle服务端和客户端之间的网络监听设置 假如我现在有两个数据库kkman和orcl,现在我想在服务端设立两个监听来处理从客户端发过来的连接请求. ------------------------- ...

  5. Listview上的checkbox重复和滚动自动调用chexkbox设置监听

    本例子重点在于hashmap保存checkbox所修改的项和checkbox监听的设置 适配器实例化时我们定义一个适配器上数据产都的map,map的key是索引,value是boolean类型,代表该 ...

  6. 有关 给Layout设置监听事件后,与Layout子控件的响应关系

    如果你的linearlayout中的孩子们都监听了click事件了,linearlayout是拿不到事件的. 在Android系统的中,硬件触发的事件最开始是Activity拿到的,然后它向里面的Vi ...

  7. 网卡设置监听模式,抓取数据包

    1.使用的usb 网卡是RT3070 淘宝网链接 2.使用的是虚拟机VMvare安装kali linux kali linux,虚拟机 kali 的用户名是root,默认密码 toor 打开监听模式 ...

  8. html中单选按钮设置监听事件,浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio...

    浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio 若是只引用jquery的话,监听单选按钮改变事件如下: 男 女 $(document).ready(functio ...

  9. android ViewPager实现无限轮播和设置监听事件

    ViewPager的无限轮播,主要以实现为主.代码如下 首先定义activity_viewpager.xml: <LinearLayout android:layout_width=" ...

最新文章

  1. 如何配置Linux的时钟同步
  2. Python教程:多变量的灵活处理
  3. Python类的构造方法__init__(self)和析构函数__del__详解
  4. java 8 foreach获取索引
  5. Matlab绘图线条颜色,线型,标记点选项参数
  6. 2018年10月软件工程自考时间安排
  7. 机器学习高频面试题(41道)
  8. 如何随心意改变桌面快捷方式的图标
  9. .ldb文件到底派什么用场得?
  10. 我是歌手黄绮珊(黄妈)彭佳慧,
  11. 基于MES系统的追溯管理功能,没你想的那么复杂
  12. 高德足迹点Android,高德地图怎么点亮城市 足迹地图查看方法
  13. Zabbix 监控之项目类型-Trapper
  14. 【UWB 定位】测距TOA 和 TDOA详解
  15. 我做出一个决定!(2-3nian后时间来证明对错!)
  16. 多种方法进行数组从小到大排序
  17. 计算机桌面上的照片转pdf免费,如何把图片转化为pdf,图片转换pdf工具推荐
  18. 《新学期,新Flag》乘风破浪
  19. 北京2008年地铁规划收集
  20. 2008-2020年数据上市公司高管团队异质性数据包含Stata代码

热门文章

  1. cms php vue 开源_骑士CMS文件包含+getshell
  2. oracle rac 通信端口,修改oracle 10g rac监听端口号为1523的步骤
  3. 万词霸屏的本质是什么?
  4. 英特尔因代言人再起风波企业网络推广之下遭抵制的Evo平台谁来背锅?
  5. 网站推广专员浅析网站排名越来越差大抵离不开这些网站推广重点
  6. 浅析网站开发的未来前景如何?
  7. 网站推广方法众多,对此你了解多少?
  8. db2查看表结构_mysql误删数据库表的frm文件和ibd文件?试试这样恢复
  9. php中@作用,@字符在PHP中有什么作用?
  10. matlabfor循环语句举例_笨办法学python(七)条件、选择和循环