模仿ZooKeeperMain编写的zookeeper客户端

public class App {
        private static final int SESSION_TIME   = 2000;
        protected ZooKeeper zk;
        protected String host = "";

protected void connectToZK(String newHost) throws InterruptedException, IOException {
          if (zk != null && zk.getState().isAlive()) {
            zk.close();
          }
          host = newHost;
          zk = new ZooKeeper(host, SESSION_TIME, new MyWatcher());
        }
    
        public static void printMessage(String msg) {
          System.out.println(msg);
        }
    
      private class MyWatcher implements Watcher {
          public void process(WatchedEvent event) {
              App.printMessage(event.toString());
          }
      }
}

public class AppTest {
  public static void main(String[] args) throws Exception {
      App app = new App();
    app.connectToZK("192.168.1.92:2181");
    //添加一个scheme为ip的权限控制
    ArrayList<ACL> acl = new ArrayList<ACL>(Collections.singletonList(new ACL(Perms.ALL, new Id("ip","192.168.1.92"))));
    app.zk.create("/test", "test".getBytes(), acl, CreateMode.PERSISTENT);
       }
}

时间: 2024-10-26 00:48:22

模仿ZooKeeperMain编写的zookeeper客户端的相关文章

Zookeeper客户端API之创建会话(六)

Zookeeper对外提供了一套Java的客户端API.本篇博客主要讲一下创建会话. 创建项目 首选,创建一个基于maven管理的简单java工程.在pom文件中引入zookeeper. <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.9</version> </d

使用.net实现ZooKeeper客户端

最近在项目中用到ZooKeeper, 通过Java连接比较容易,.net项目就没那么容易,尤其对于不熟悉Linux的开发人员,这里写点搭建ZooKeeper测试环境的经验,供参考. 背景知识: Zookeeper的优点和用途就不再赘述,但是关于ZooKeeper的特点和原理还是要清楚,可以参考官方文档:http://zookeeper.apache.org/doc/trunk/zookeeperOver.html 环境准备: 系统:对于ZooKeeper等等开源类的服务端软件,运行环境通常都推荐

ZooKeeper客户端原生API的使用以及ZkClient第三方API的使用

这两部分内容的介绍主要讲的是节点及节点内容和子节点的操作,并且讲解的节点的事件监听以及ACL授权 ZooKeeper客户端原生API的使用 百度网盘地址: http://pan.baidu.com/s/1jI3b8n8 ZkClient第三方API的使用 ZkClient是Github上一个开源的ZooKeeper客户端.ZkClient在ZooKeeper原生API之上进行了包装,是一个更加易用的ZooKeeper客户端.同时ZkClient在内部实现了诸如Session超时重连.Watche

zookeeper - 客户端源码分析

zookeeper客户端的主类入口是Zookeeper类,负责与zookeeper server端的通信以及触发watcher等. 下文主要分析zookeeper客户端的工作流程. 1 zookeeper构造函数 主要分两类,一是不带sessionid的,这是客户端第一次连接server时采用 public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean canBeReadOnly) thr

zookeeper客户端使用

zookeeper客户端使用查询指令1../zkCli.sh -timeout 5000 -server 192.168.108.128:2181  链接zk服务器2.ls:列出某个节点下所有子节点的信息 ls / 跟目录下子节点3.stat:查询某个节点的状态 state node,看不到当前节点存储的数据的内容4.get:获取子节点的数据内容,包括stat的内容5.ls2:ls的超级指令,列出所有子节点的同时还能获取该子节点的基本信息创建指令:create:-s顺序节点 -e时临时节点/no

zookeeper 客户端编程

zookeeper是一个分布式的开源的分布式协调服务,用它可以来现同步服务,配置维护.zookeeper的稳定性也是可以保证的,笔者曾参与过的使用zookeeper的两个应用,一个是用zookeeper来做分布式锁,属于同步协调服务,另一个是配置维护,三台机器运行了一年多了,没有出现什么问题. 运用场景:------------------------同步服务:利用zookeeper可以使机器之间的同步如同concurrent包下的同步器同步线程一样,举两个互斥同步的例子 1.  应用系统部署在

编写Web Service客户端访问www.webxml.com.cn提供的服务

Introduction  to lead/lag compensator 首先,compensator和controller有啥区别? 其实没有明确的界限,两者差不多.不必为这这个概念纠结 我找了一下关于这个问题一些人的看法,其中有很"流行"的解说 Lutz von Wangenheim · Hochschule Bremen Here is an excerpt from "G. Ellis, Control System Design Guide": &quo

golang 编写的邮件客户端

近期开始学习 golang ,编写了邮件客户端: golang编写的邮件客户端[一]基本框架搭建:从smtp服务器获取消息 golang编写的邮件客户端[二]添加读写协程

Zookeeper客户端介绍

客户端是开发人员使用Zookeeper的主要的途径,以下内容将对Zookeeper的内部原理进行详细的学习和讲解.ZooKeeper的客户端主要有一下几个核心组件组成: Zookeeper:提供客户端访问ZooKeeper服务器的API. ClientWatchManager:负责管理客户端注册的Watcher. HostProvider:客户端地址列表管理器. ClientCnxn:客户端核心线程,其内部包含连个线程及SendThread和EvnentThread.SendThread是一个I