zookeeper 简单入门hello

下面这个代码,还是比较简单的,核心类就是org.apache.zookeeper.ZooKeeper。


我比较喜欢这种"框架",把最核心的服务,就用少数的几个类或者接口,供开发者使用。
开发者,不用知道那么多代码和细节。
这也提示我们,写代码的时候,把对外服务和对内实现,分开,设计好。


package cn.fansunion.zookeeper;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
  
public class ZooKeeperTest {
  
     private static final int TIME_OUT = 3000 ;
     private static final String HOST = "localhost:2181" ;
     public static void main(String[] args) throws Exception{
 
 
         ZooKeeper zookeeper = new ZooKeeper(HOST, TIME_OUT, null );
         System.out.println( "=========创建节点===========" );
         if (zookeeper.exists( "/test" , false ) == null )
         {
             zookeeper.create( "/test" , "znode1" .getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
         }
         System.out.println( "=============查看节点是否安装成功===============" );
         System.out.println( new String(zookeeper.getData( "/test" , false , null )));
         
         System.out.println( "=========修改节点的数据==========" );
         String data = "zNode2" ;
         zookeeper.setData( "/test" , data.getBytes(), - 1 );
         
         System.out.println( "========查看修改的节点是否成功=========" );
         System.out.println( new String(zookeeper.getData( "/test" , false , null )));
         
         System.out.println( "=======删除节点==========" );
         zookeeper.delete( "/test" , - 1 );
         
         System.out.println( "==========查看节点是否被删除============" );
         System.out.println( "节点状态:" + zookeeper.exists( "/test" , false ));
         
         zookeeper.close();
     }
}




运行结果
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
=========创建节点===========
=============查看节点是否安装成功===============
znode1
=========修改节点的数据==========
========查看修改的节点是否成功=========
zNode2
=======删除节点==========
==========查看节点是否被删除============
节点状态:null


以上代码,看不懂,根本没有关系。
懂了概念,知道了大致的API用法,后面就是深入学习。
Zookeeper怎么设计,API怎么用,怎么实现“分布式锁”。
有了良好的开端,上了道,就一步步提高了。


上次买了本Zookeeper的书,专门讲解Zookeeper的,还没来得及看。
最近看 Android书籍,研究和运行代码。看Object-c和iOS,再写代码,太忙了。
Zookeeper的进一步深入学习,可能要再过一段时间了。




Maven配置
pom.xml
     <modelversion> 4.0 . 0 </modelversion>
     <groupid>cn.fansunion</groupid>
     ZookeeperDemo</artifactid>
     <version> 0.0 . 1 -SNAPSHOT</version>
     <build>
         <sourcedirectory>src</sourcedirectory>
         <plugins>
             <plugin>
                 maven-compiler-plugin</artifactid>
                 <version> 3.1 </version>
                 <configuration>
                     <source>
                     <target>
                 </target></configuration><source><source>
             </plugin><source><source><source>
         </plugins><source><source><source><source>
     </build><source><source><source><source><source>
     <dependencies>
         <dependency>
             <groupid>org.apache.zookeeper</groupid>
             zookeeper</artifactid>
             <version> 3.4 . 6 </version>
         </dependency>
         <dependency>
             <groupid>org.slf4j</groupid>
             slf4j-log4j12</artifactid>
             <version> 1.7 . 5 </version>
         </dependency>
         <dependency>
             <groupid>log4j</groupid>
             log4j</artifactid>
             <version> 1.2 . 17 </version>
         </dependency>
     </dependencies>
</project>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值