Dubbo-02:使用zookeeper的简单demo
来源:互联网 发布:天正建筑软件最新版 编辑:程序博客网 时间:2024/05/29 01:53
本着够用就行的原则,Zookeeper这里没有细讲,只有增删改查这些功能,其它的以后再学。
import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.ZooDefs;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.data.Stat;public class ZkDemo {public static void main(String[] args) throws IOException, KeeperException, InterruptedException{ZooKeeper zk = null;zk = new ZooKeeper("localhost:2181",6000, null);String path = "/user01";ZkDemo zkDemo=new ZkDemo();//清空以前的残留数据zkDemo.deleteNode(zk, path);//创建根路径zkDemo.createNode(zk, path, null);//两个子路径zkDemo.createNode(zk, "/user01/s01", "sub01");zkDemo.createNode(zk, "/user01/s02", "sub02");zkDemo.readNode(zk, path); //修改zkDemo.updateNode(zk, "/user01/s02", "sub02修改");zkDemo.readNode(zk, path);//删除zkDemo.deleteNode(zk, "/user01/s02");zkDemo.readNode(zk, path);}public String createNode(ZooKeeper zk,String path,String data) throws KeeperException, InterruptedException{byte[] bts=null;if(data!=null) bts=data.getBytes();String actualPath=zk.create(path,bts,ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); return actualPath;}public void updateNode(ZooKeeper zk,String path,String data) throws KeeperException, InterruptedException{byte[] bts=null;if(data!=null) bts=data.getBytes();Stat stat = zk.exists(path, true);if(stat!=null){zk.setData(path, bts, -1);}}public void deleteNode(ZooKeeper zk,String path) throws KeeperException, InterruptedException{Stat stat = zk.exists(path, true);if(stat!=null){List<String> nodeList = zk.getChildren(path, false); for (String node : nodeList) { zk.delete(path + "/" + node, -1); } zk.delete(path, -1);}}public Map<String,String> readNode(ZooKeeper zk,String path) throws KeeperException, InterruptedException{System.out.println("...读取:");Map<String,String> map=new HashMap<String,String>();List<String> nodeList01 = zk.getChildren(path, false); for (String node : nodeList01) { String p=path + "/" + node; byte[] b = zk.getData(p,false,null); String d=new String(b); map.put(p, d); System.out.println(d); } return map;}}
阅读全文
0 0
- Dubbo-02:使用zookeeper的简单demo
- dubbo zookeeper spring mvc简单整合的工程例子demo
- Maven+SpringMVC+Dubbo+zookeeper 简单的入门demo配置
- 一个简单的Dubbo+Zookeeper+Spring整合Demo,附带源码
- 分布式zookeeper+dubbo的简单配置使用
- dubbo+zookeeper+spring的demo
- zookeeper+Dubbo环境搭建及简单Demo
- 最简单的dubbo demo(SpringMVC+hibernate+Spring+dubbo+ZooKeeper+redis+Maven)
- zookeeper的下载使用及简单demo
- dubbo+zookeeper 的简单使用(不涉及集群)
- Dubbo+Zookeeper+Spring demo
- dubbo zookeeper demo
- Dubbo DEMO HelloWorld(zookeeper)
- zookeeper 和 dubbo的使用
- dubbo和zookeeper的使用
- dubbo zookeeper简单的provide 和cosumer
- dubbo+zookeeper+spring整合demo
- springMvc dubbo zookeeper 集成demo
- dubbo原理特点
- Burnside引理
- Redux:百行代码千行文档
- hessian简单示例
- 会声会影X9中文版 v19.1.0.14
- Dubbo-02:使用zookeeper的简单demo
- C.Primer.Plus(第六版)第14章 编程练习
- opencv: 形态学 转换(图示+源码)
- JavaScript中隐式的强制转换
- TensorFlow概要
- C_串----基本string字符系列容器
- JNI编译时错误 编码GBK的不可映射字符 解决方法
- java设计模式之外观模式(门面模式) 针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。 一、概念介绍 外观模式(Facade),他隐藏了系统的复杂性,并
- tablayout加viewpager