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

琼海网站建设公司网站优化推广哪家好

琼海网站建设公司,网站优化推广哪家好,做网站首页应该考虑什么,海外网络推广公司API ZooKeeper官方提供了Java API#xff0c;可以通过Java代码来连接zookeeper服务进行操作。可以连接、创建节点、获取节点数据、监听节点变化等操作#xff0c;具体有以下几个重要的类#xff1a; ZooKeeper#xff1a;ZooKeeper类是Java API的核心类#xff0c;用于与…API ZooKeeper官方提供了Java API可以通过Java代码来连接zookeeper服务进行操作。可以连接、创建节点、获取节点数据、监听节点变化等操作具体有以下几个重要的类 ZooKeeperZooKeeper类是Java API的核心类用于与ZooKeeper服务器建立连接并提供了一系列方法来操作ZooKeeper的节点。WatcherWatcher是ZooKeeper的一个回调接口当节点发生变化时会调用相应的方法进行通知。CreateModeCreateMode枚举类定义了节点的类型包括永久节点、临时节点、顺序节点和临时顺序节点。StatStat类表示节点的元数据信息比如修改版本、数据长度、子节点数量等。 添加依赖 dependencygroupIdorg.apache.zookeeper/groupIdartifactIdzookeeper/artifactIdversion3.7.2/version /dependency操作例子 String host localhost:2181; //建立连接 zooKeeper new ZooKeeper(host, 2000, null); String path /test; Watcher watcher new Watcher() {Overridepublic void process(WatchedEvent watchedEvent) {System.out.println(Node changed: watchedEvent.getPath());System.out.println(watchedEvent);} }; //获取节点状态 如果不存在返回null Stat stat zooKeeper.exists(path, false); if(null ! stat){System.out.println(stat.getCzxid()-stat.getAversion()); }//创建节点 包含版本、时间、数据长度等信息 zooKeeper.create(path,123.getBytes(),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); //添加watcher zooKeeper.addWatch(path, watcher, AddWatchMode.PERSISTENT);//获取节点数据 byte[] data zooKeeper.getData(path, false, null); System.out.println(new String(data));zooKeeper.create(path/1,child1.getBytes(),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); //获取子节点 ListString children zooKeeper.getChildren(path, false); System.out.println(childs size:children.size()); //删除子节点 zooKeeper.delete(path/1,-1); zooKeeper.close();zkClient zkClient封装了zookeeper的官方api简化了一些繁琐的操作并提供了一些额外的功能提高了开发效. 添加依赖 dependencygroupIdcom.101tec/groupIdartifactIdzkclient/artifactIdversion0.11/version /dependencyzkclient对节点数据的操作进行了序列化 这里先准备一个string类型的序列化类。需要实现ZkSerializer接口 public class ZkStringSerializer implements ZkSerializer {Overridepublic byte[] serialize(Object o) throws ZkMarshallingError {return String.valueOf(o).getBytes();}Overridepublic Object deserialize(byte[] bytes) throws ZkMarshallingError {return new String(bytes);} }基本操作 ZkClient zkClient new ZkClient(localhost:2181); //自定义序列化 否则报错 zkClient.setZkSerializer(new ZkStringSerializer()); String path /test; //判断节点是否存在 boolean exist zkClient.exists(path); System.out.println(exist); if(!exist){//创建节点zkClient.create(path,123, CreateMode.PERSISTENT); } //读取节点数据 System.out.println((String) zkClient.readData(path)); zkClient.writeData(path,456);//设置节点数据 System.out.println((String) zkClient.readData(path)); zkClient.delete(path);//删除节点zkClient.close();节点变化事件 String path /test; /*** 节点变化事件* 只监听节点增减不监听数据变化事件*/ zkClient.subscribeChildChanges(path, new IZkChildListener() {Overridepublic void handleChildChange(String parentPath, ListString children) throws Exception {System.out.println(节点parentPath发生变化);System.out.println(children);} }); //节点操作观察handleChildChange接收到对应事件 Thread.sleep(2000); zkClient.createPersistent(path); Thread.sleep(2000); zkClient.createPersistent(path/child1); Thread.sleep(2000); zkClient.writeData(path/child1,123); Thread.sleep(2000); zkClient.delete(path/child1); Thread.sleep(2000); zkClient.delete(path); Thread.sleep(100000);节点数据变化事件 String path /test;/*** 节点变化事件,只检测当前节点感知不到其子节点* 节点被删除或节点数据变化*/zkClient.subscribeDataChanges(path, new IZkDataListener() {Overridepublic void handleDataChange(String s, Object o) throws Exception {System.out.println(节点s数据变为:o);}Overridepublic void handleDataDeleted(String s) throws Exception {System.out.println(节点s删除);}});Thread.sleep(2000);zkClient.createPersistent(path);Thread.sleep(2000);zkClient.createPersistent(path/child1);Thread.sleep(2000);zkClient.delete(path/child1);Thread.sleep(2000);zkClient.writeData(path,123);Thread.sleep(2000);zkClient.delete(path);Thread.sleep(100000); }Curator curator是另一个java连接zookeeper类库。功能更加强大。提供了连接重试、分布式锁、选举、队列等多种实际场景的用例。这里先简单搞个使用例子。 添加依赖 dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-framework/artifactIdversion5.1.0/version /dependencycurator-framework是基础的依赖一些特定的使用方式需要添加不同的依赖有curator-recipes、curator-x-discovery、curator-x-async等。 基本操作 //创建连接 CuratorFramework client CuratorFrameworkFactory.newClient(localhost:2181, new ExponentialBackoffRetry(1000, 3)); client.start(); String path /test; client.checkExists().forPath(path);//判断是否存在 client.create().forPath(path, 123.getBytes());//创建节点 byte[] data client.getData().forPath(path);//获取数据 System.out.println(new String(data)); client.setData().forPath(path, 456.getBytes());//设置数据 client.delete().forPath(path);//删除节点client.close();节点监听 CuratorFramework client CuratorFrameworkFactory.newClient(localhost:2181, new ExponentialBackoffRetry(1000, 3)); client.start(); String path /test; NodeCache nodeCache new NodeCache(client,path); //添加监听 nodeCache.getListenable().addListener(new NodeCacheListener() {Overridepublic void nodeChanged() throws Exception {ChildData data nodeCache.getCurrentData();if (data ! null) {System.out.println(Node changed: data.getPath() , value: new String(data.getData()));} else {System.out.println(Node deleted: nodeCache.getPath());}} }); nodeCache.start(); client.create().forPath(path); client.setData().forPath(path, 123.getBytes()); client.delete().forPath(path); client.close();这里NodeCache被标识Deprecated也不知道被什么方式代替了后面再研究。先简单使用。
http://www.zqtcl.cn/news/321870/

相关文章:

  • 建设银行通控件网站谷歌推广
  • 我要建网站需要什么付费wordpress
  • 网站收录查询情况wordpress主题仿
  • 网站单页生成器c 网站开发需要学什么
  • 什么网站是免费的免费图片链接生成器
  • 网站建设伍金手指下拉9服务器多少钱
  • 手机网站大全网站收费网站推广
  • 华企立方做网站自己动手做导航网站
  • 如何建设教师网上授课网站重庆建设网站哪家专业
  • 企业网站页头背景图建设三轮摩托车官网
  • 直播网站创做上海idc机房托管
  • 受欢迎自适应网站建设地址c2c二手车交易平台
  • 做个平台网站怎么做房价查询
  • 自学网站建设最快要多久asp.net 手机网站开发
  • 淮安做网站找哪家公司verycloud wordpress
  • 无法连接到wordpress站点网站建设的 几点
  • 网站免费空间购买wordpress支持页面模版
  • 腾讯建设网站视频宁波城乡住房建设厅网站
  • 乐清网站开发公司个人网站建设工作室
  • 网站空间升级通知手机端怎么看世界杯
  • 广西南宁网站推广建设网站视频教程
  • 福州专业网站建设推广费用nas可做网站服务器吗
  • 齐鲁建设网站福建省高速公路建设管理网站
  • 比格设计网站官网收录网站查询
  • 国外做直播网站淘宝电商网站怎么做的
  • 国外私人网站网站由那些组成
  • 网站备案多久通过机械设备网站
  • 企业自建站案例网站基础知识域名5个点
  • 咸宁建设网站海口市网站建设
  • 认识电子商务网站建设技术网站交换链接怎么做?