当前位置: 首页 > news >正文

互联网彩票网站开发王妃说此生不复相见

互联网彩票网站开发,王妃说此生不复相见,中国石油大学网站建设,网站平台开发要注意什么问题zookeeper 的 watcher 机制#xff0c;可以分为四个过程#xff1a; 客户端注册 watcher。服务端处理 watcher。服务端触发 watcher 事件。客户端回调 watcher。 其中客户端注册 watcher 有三种方式#xff0c;调用客户端 API 可以分别通过 getData、exists、getChildren …zookeeper 的 watcher 机制可以分为四个过程 客户端注册 watcher。服务端处理 watcher。服务端触发 watcher 事件。客户端回调 watcher。 其中客户端注册 watcher 有三种方式调用客户端 API 可以分别通过 getData、exists、getChildren 实现利用前面章节创建的 maven 工程新建 WatcherDemo 类以 exists 方法举例说明其原理。 // 导入 ZooKeeper 相关的类 import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.data.Stat;// 定义 WatcherDemo 类实现 Watcher 接口 public class WatcherDemo implements Watcher {// 静态 ZooKeeper 客户端static ZooKeeper zooKeeper;// 静态代码块初始化 ZooKeeper 客户端static {try {// 创建 ZooKeeper 客户端实例连接到 ZooKeeper 服务器zooKeeper new ZooKeeper(192.168.3.39:2181, 4000, new WatcherDemo());} catch (IOException e) {e.printStackTrace();}}// 重写 Watcher 接口的 process 方法处理 ZooKeeper 事件Overridepublic void process(WatchedEvent event) {// 打印事件类型System.out.println(eventType: event.getType());// 判断事件类型if (event.getType() Event.EventType.NodeDataChanged) {// 节点数据改变事件try {// 重新注册对节点的监视zooKeeper.exists(event.getPath(), true);} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}}// main 方法程序入口public static void main(String[] args) throws IOException, KeeperException, InterruptedException {// 定义节点路径String path /watcher;// 判断节点是否存在if (zooKeeper.exists(path, false) null) {// 创建节点并设置初始数据zooKeeper.create(path, 0.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);}// 睡眠 1 秒Thread.sleep(1000);// 打印分割线System.out.println(-----------);// 重新注册对节点的监视并设置 WatcherStat stat zooKeeper.exists(path, true);// 等待用户输入System.in.read();} }运行完程序控制台显示: 此时启动 zookeeper 命令行终端查看并且删除 watcher 节点 IDE 控制台输出触发了节点删除事件 客户端发送请求给服务端是通过 TCP 长连接建立网络通道底层默认是通过 java 的 NIO 方式也可以配置 netty 实现方式。 注册 watcher 监听事件流程图 1、客户端发送事件通知请求 在 Zookeeper 类调用 exists 方法时候把创建事件监听封装到 request 对象中watch 属性设置为 true待服务端返回 response 后把监听事件封装到客户端的 ZKWatchManager 类中。 2、服务端处理 watcher 事件的请求 服务端 NIOServerCnxn 类用来处理客户端发送过来的请求最终调用到 FinalRequestProcessor其中有一段源码添加客户端发送过来的 watcher 事件 然后进入 statNode 方法在 DataTree 类方法中添加 watcher 事件并保存至 WatchManager 的 watchTable 与 watchTable 中。 3、服务端触发 watcher 事件流程 若服务端某个被监听的节点发生事务请求服务端处理请求过程中调用 FinalRequestProcessor 类 processRequest 方法中的代码如下所示 删除调用链最终到 DataTree 类中删除节点分支的触发代码段: 进入 WatchManager 类的 triggerWatch 方法: 继续跟踪进入 NIOServerCnxn构建了一个 xid 为 -1zxid 为 -1 的 ReplyHeader 对象然后再调用 sendResonpe 方法。 4、客户端回调 watcher 事件 客户端 SendThread 类 readResponse 方法接收服务端触发的事件通知进入 xid 为 -1 流程处理 Event 事件。 希望你也学会了更多编程源码模板请来二当家的素材网https://www.erdangjiade.com
http://www.hkea.cn/news/14354201/

相关文章:

  • 免费seo网站诊断免费公司标志图片logo
  • 在哪里可以改动网站标题湖南平台网站建设设计
  • 网页设计和网站建设的课程设计三层别墅设计图片大全 效果图
  • 免费建站网站有哪些织梦网站怎么做404页面
  • 要做一个网站需要准备什么有效作业设计方案
  • 烟台网站建设的公司用电脑做网站
  • 网站图片移动怎么做杭州余杭区网站建设
  • 企业微商城网站建设公司部门名字大全
  • 株洲网站建设开发设计汶上县建设局官方网站
  • 如何对网站用户分析黑镜主题1.0wordpress
  • 厦门手机网站建设公司六安人才招聘网官网
  • 徐州品牌网站建设成都h5模板建站
  • 天推广人的网站搭建游戏服务器
  • 做乒乓球网站的图片怎么做微信网站吗
  • 中山 网站建设开发营销团队名字
  • 神奇的工作室最新网站app开发公司tianpinkeji
  • 最新网站制作公司哪个好手机上怎么做能打开的网站
  • 中国人在国外做网站网站代理建设银行网站登录不进去
  • 学畅留学招聘网站开发主管手机个人简历模板下载网站模板
  • app试玩网站制作津南房地产网站建设
  • 最大网站建设公司排名工作压力大怎样缓解焦虑情绪
  • 成都电子商务网站开发网站后台修改导航栏
  • 为什么做网站比app便宜深圳网站设计公司专业吗
  • 临汾市网站建设中山网站外包
  • 广西工程建设质量安全管理协会网站绍兴网站专业制作
  • 如何创造免费网站知名网站建设公
  • 网站建设协保险预约
  • 开发网站赚钱question2answer wordpress 整合
  • 做视频类型的网站网络培训软件
  • 东莞市研发网站建设品牌网站开发有哪些流程