在Eclipse中如何操作zookpeer

导入jar包

jar包下载链接

代码解析

package com.itcast.zookpeer.zk;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.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;public class SimpleZkClient {private static final String connectString = "weijie1:2181,weijie2:2181,weijie3:2181";private static final int sessionTimeout = 2000;ZooKeeper zkClient = null;public SimpleZkClient() {System.out.println("构造方法");}@Beforepublic void init() throws Exception {zkClient = new ZooKeeper(connectString, sessionTimeout, new Watcher() {@Overridepublic void process(WatchedEvent event) {// 收到事件通知后的回调函数(应该是我们自己的事件处理逻辑)System.out.println(event.getType() + "---" + event.getPath());try {zkClient.getChildren("/", true);} catch (Exception e) {}}});}/*** 数据的增删改查* * @throws InterruptedException* @throws KeeperException*/@Test// 创建数据节点到zk中public void testCreate() throws KeeperException, InterruptedException {// 参数1:要创建的节点的路径 参数2:节点大数据 参数3:节点的权限 参数4:节点的类型String nodeCreated = zkClient.create("/eclipse1", "hellozk".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);//上传的数据可以是任何类型,但都要转成byte[]}//判断znode是否存在@Test	public void testExist() throws Exception{Stat stat = zkClient.exists("/eclipse", false);System.out.println(stat==null?"not exist":"exist");}// 获取子节点@Testpublic void getChildren() throws Exception {List<String> children = zkClient.getChildren("/", true);for (String child : children) {System.out.println(child);}Thread.sleep(Long.MAX_VALUE);}//获取znode的数据@Testpublic void getData() throws Exception {byte[] data = zkClient.getData("/eclipse", false, null);System.out.println(new String(data));}//删除znode@Testpublic void deleteZnode() throws Exception {//参数2:指定要删除的版本,-1表示删除所有版本zkClient.delete("/eclipse", -1);}//删除znode@Testpublic void setData() throws Exception {zkClient.setData("/app1", "imissyou angelababy".getBytes(), -1);byte[] data = zkClient.getData("/app1", false, null);System.out.println(new String(data));}}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

顺序表应用4:元素位置互换之逆置算法

题目描述 一个长度为len(1<len<1000000)的顺序表&#xff0c;数据元素的类型为整型&#xff0c;将该表分成两半&#xff0c;前一半有m个元素&#xff0c;后一半有len-m个元素&#xff08;1<m<len)&#xff0c;设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法&am…

Linux 系统进程守护工具 cesi + superviosr

一、安装 Supervisor pip install supervisor 使用 echo_supervisord_conf 命令生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 配置文件说明 位置&#xff1a;etc/supervisord.conf内容&#xff1a;# 指定了socket file的位置 [unix_http_server] f…

Delta3d组件以及消息机制

在游戏管理器&#xff08;GameManager&#xff09;中维护一个消息队列std::queue(mSendMessageQueue),在GameManager::SendMessage中将消息放入队列中&#xff0c;如下 void GameManager::SendMessage(const Message& message){mGMImpl->mSendMessageQueue.push(dtCore:…

集合类三种遍历方式

package com.test;import java.util.ArrayList; import java.util.Iterator;//集合三种遍历方式 /** iterator的操作是有限的&#xff0c;只能对元素进行判断、取出、删除操作* 如果进行其他操作用ListIterator* */ public class Array_list {public static void main(String[]…

顺序表应用6:有序顺序表查询

题目描述 顺序表内按照由小到大的次序存放着n个互不相同的整数&#xff08;1<n<20000)&#xff0c;任意输入一个整数&#xff0c;判断该整数在顺序表中是否存在。如果在顺序表中存在该整数&#xff0c;输出其在表中的序号&#xff1b;否则输出“No Found!"。输入 第…

Docker 服务器安装(一)

使用官方安装脚本自动安装 安装命令如下&#xff1a; curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使用国内 daocloud 一键安装命令&#xff1a; curl -sSL https://get.daocloud.io/docker | sh 设置docker 加速器 sudo curl -sSL https…

游戏入口点GameEntryPoint

GameStart 通过在我们的库中查找入口点类来调用相应的接口启动我们的应用程序。一旦它找到了入口点&#xff0c;它会调用三个函数来替换掉它自己的应用转向执行我们的游戏循环。游戏入口点对于 GameStart 来说就像ActorPluginRegistry 对于 ActorLibrary 一样。游戏入口点有以下…

Docker 入门使用 (二)

配置国内的源 > /etc/docker/daemon.json{"registry-mirrors" : ["https://mirror.ccs.tencentyun.com","http://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"],"…

顺序表应用5:有序顺序表归并

题目描述 已知顺序表A与B是两个有序的顺序表&#xff0c;其中存放的数据元素皆为普通整型&#xff0c;将A与B表归并为C表&#xff0c;要求C表包含了A、B表里所有元素&#xff0c;并且C表仍然保持有序。输入 输入分为三行&#xff1a;第一行输入m、n&#xff08;1<m,n<100…

Delta3d角色注册机制

角色注册主要通过继承自类dtDAL::ActorPluginRegistry类来实现&#xff0c;重写其中的RegisterActorTypes()即可&#xff1b;在对象工厂ObjectFactory中保存了“角色类型到负责创建角色对象的全局函数”的Map&#xff1b; 关键函数有&#xff1a; dtCore::RefPtr<BaseActor…

Docker 使用Dockerfile构建自己的docker服务(三)

先介绍一下DockerFile文件的一些指令说明 DockerFile的指令 FROM 基础镜镜像&#xff0c;一切从这里开始构建 MAINTAINER 镜像是谁写的&#xff0c;姓名邮箱 RUN 镜像构建的时候需要运行的$令 ADD 步骤&#xff0c;tomcat镜像&#xff0c; 这个tomcat压缩包!添加内容 WORKDI…

数据结构实验之栈一:进制转换

题目描述 输入一个十进制整数&#xff0c;将其转换成对应的R&#xff08;2<R<9)进制数,并输出。输入 第一行输入需要转换的十进制数&#xff1b;第二行输入R。输出 输出转换所得的R进制数。示例输入 1279 8 示例输出 2377 #include <stdio.h> #include <stdlib.…

Delta3d动态角色层

DAL 采用一种灵活的、非侵入式的机制来暴露游戏角色的属性信息。 其中两大基础组件就是角色代理和角色属性。角色代理组件就是对底层游戏角色的一个封装&#xff0c;维护单个游戏角色的所有属性信息。而属性组件通过提供对单个游戏角色的所有属性的属性数据访问器来暴露角色的属…

Hbase Shell Filter 过滤

Get 和 Scan 操作都可以使用过滤器来设置输出的范围&#xff0c;类似于 SQL 里面的 Where 查询条件。使用 show_filters 命令可以查看当前 HBase 支持的 过滤器类型。 show_filters使用过滤器的语法格式&#xff1a; scan 表名,{Filter > ”过滤器(比较运算符,’比较器’)…

equals 和 == 的区别?知乎转载

作者&#xff1a;知乎用户 链接&#xff1a;https://www.zhihu.com/question/26872848/answer/34364603 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 简单易懂 Java 语言里的 equals方法其实是交给开发者去覆写…

ElasticSearch sql 插件安装

PS&#xff1a;6.3 开始 ElasticSearch 自身已经支持SQL查询。 github地址&#xff1a;https://github.com/NLPchina/elasticsearch-sql 一、在线安装 直接执行 ./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.3.…

Delta3d组件机制

dtGame::GMComponent主要用于处理系统中的消息&#xff0c;给系统动态的添加功能&#xff0c;增加系统的可维护性&#xff0c; 简单来说&#xff0c;一个游戏管理器组件就是一个由游戏管理器管理的可以处理和发送消息的对象。它不像游戏角色&#xff0c;游戏管理器组件接受系统…

zookpeer实现对服务器动态上下线的监听

服务器动态上下线程序的工作机制 服务器代码&#xff1a; 补充&#xff1a;volatile关键字&#xff1a;java中一切都是对象&#xff0c;当多个线程操作同一个对象时候&#xff0c;该对象会放在堆内存中&#xff0c;而多个线程相当于在多个栈中&#xff0c;当A线程想要去除对…

ElasticSearch6.x 7.x Elasticdump 在线安装、离线安装

官网&#xff1a;elasticdump - npm ElasticDump是一个ElasticSearch的数据导入导出开源工具包&#xff0c;方便使用。 官方地址&#xff1a;官方地址&#xff1a;https://github.com/taskrabbit/elasticsearch-dump 一. 安装npm&#xff0c;node # 下载安装包 wget https:/…

用LuaBridge为Lua绑定C/C++对象

最近为了总结Lua绑定C/C对象的各种方法、第三方库和原理&#xff0c;学习了LuaBridge库为Lua绑定C/C对象&#xff0c;下面是学习笔记&#xff0c;实质是对该库的 Reference Manual 基本上翻译了一遍&#xff0c;学习过程中测试代码&#xff0c;放在 我的github 上。 LuaBridge的…