Zookeeper入門-Java版本HelloWorld例子
上一篇介紹了,Zookeeper的基本概念,怎麼啟動,怎麼解決可能遇到的幾個問題。
本篇,根據網上程式碼,整理了一個例子,Zookeeper的HelloWorld。
下面這個程式碼,還是比較簡單的,核心類就是org.apache.zookeeper.ZooKeeper。
我比較喜歡這種"框架",把最核心的服務,就用少數的幾個類或者介面,供開發者使用。
開發者,不用知道那麼多程式碼和細節。
這也提示我們,寫程式碼的時候,把對外服務和對內實現,分開,設計好。
執行結果
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
本篇,根據網上程式碼,整理了一個例子,Zookeeper的HelloWorld。
下面這個程式碼,還是比較簡單的,核心類就是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
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.fansunion</groupId>
<artifactId>ZookeeperDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source />
<target />
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
相關文章
- Mongodb總結2-Java版本的HelloWorld-CRUD例子MongoDBJava
- Zookeeper入門(翻譯自Zookeeper官方網站Release 3.4.11版本)網站
- node HelloWorld入門篇
- iOS-入門HelloWorldiOS
- zookeeper入門
- React入門-1.helloworldReact
- Zookeeper入門指南
- zookeeper 快速入門
- Zookeeper快速入門
- 【轉】Zookeeper入門
- ZooKeeper 入門指引
- Zookeeper--入門
- ZooKeeper 入門教程
- Netty5 入門HelloWorldNetty
- webpack 入門例子Web
- ZooKeeper 基礎入門
- Zookeeper基礎入門
- 入門Semantic Kernel:OneApi整合與HelloWorldAPI
- zookeeper入門(2)解讀zookeeper的配置項
- golang 快速入門 [3]-go 語言 helloworldGolang
- Java多型的一個簡單入門的例子Java多型
- sencha表單入門例子
- spring+motan+zookeeper入門Spring
- SpringBoot入門(一):從HelloWorld開始Spring Boot
- 12個例子帶你入門Electron
- Nodejs:UDP極簡入門例子NodeJSUDP
- 幾個彙編入門小例子
- go語言入門教程分享:第一個程式:HelloWorldGo
- C#入門之C#特點及HelloWorld程式C#
- Zookeeper入門一篇就夠了
- Zookeeper入門看這篇就夠了
- 邁進Java:HelloWorldJava
- Xposed快速入門例子(一)----- 拉黑好友
- 一篇文章帶你入門Zookeeper
- 深入理解Java HelloWorldJava
- Java RMI之HelloWorld篇Java
- Mercurial 版本控制入門
- 版本控制入門簡介