ZooKeeper Java客户端API如何更新数据
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章将为大家详细讲解有关ZooKeeper Java客户端API如何更新数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。同步更新数据import
千家信息网最后更新 2025年12月01日ZooKeeper Java客户端API如何更新数据
这篇文章将为大家详细讲解有关ZooKeeper Java客户端API如何更新数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
同步更新数据
import java.util.concurrent.CountDownLatch;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.Watcher.Event.KeeperState;import org.apache.zookeeper.Watcher.Event.EventType;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.data.Stat;public class SetData_API_Sync_Usage implements Watcher { private static CountDownLatch connectedSemaphore = new CountDownLatch(1); private static ZooKeeper zk = null; public static void main (String[] args) throws Exception{ String path = "/titush-book2"; zk = new ZooKeeper("202.201.*.*:2100", 5000, new SetData_API_Sync_Usage()); connectedSemaphore.await(); zk.create(path, "1231".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.getData(path, true, null); Stat stat = zk.setData(path, "4561".getBytes(), -1); System.out.println(stat.getCzxid()+","+stat.getMzxid()+","+stat.getVersion()); Stat stat2 = zk.setData(path, "4561".getBytes(), stat.getVersion()); System.out.println(stat2.getCzxid()+","+stat2.getMzxid()+","+stat2.getVersion()); try{ zk.setData(path, "456".getBytes(), stat.getVersion()); } catch ( KeeperException e) { System.out.println("Error:" + e.code() + "," + e.getMessage()); } Thread.sleep( Integer.MAX_VALUE); } @Override public void process(WatchedEvent event) { if (KeeperState.SyncConnected == event.getState()) { if (EventType.None == event.getType() && null == event.getPath()) { connectedSemaphore.countDown(); } } }}结果打印
111,112,1111,113,2Error:BADVERSION,KeeperErrorCode = BadVersion for /titush-book2
数据节点的当前最新版本表示为 -1,第一版本表示为 0。
第一次设置数据后版本更新为 1,第二次设置后版本更新为 2。
第三次用版本 1 去更新时出现错误,因为此时的版本已经为 2 了。
这里就是乐观锁的使用,stat.getVersion()用来进行写入校验。
关于ZooKeeper Java客户端API如何更新数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
更新
数据
版本
客户
客户端
内容
文章
更多
知识
篇文章
不错
乐观
就是
最新版
第一次
第一版
结果
节点
质量
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
股票软件开发小杨
常州游戏软件开发项目
数据库三级模式含义
网络安全法规定保护公共数据资源
太乐地图 数据库格式
绝地求生蓝洞服务器飞机
象山手机软件开发外包
浙江湖州网络安全周宣传
要求多组数据库
计算机网络安全培训就业方向
监控室网络安全
修改数据库字段会锁表吗
网络安全与文明800字
数据库主码有什么区别
对峙2匹配连接不到服务器怎么办
上海直播软件开发代码
了解视频聊天软件开发
无锡进口刀片服务器设计
计算机网络安全的多选题
视频图片数据库的制作c
iphone数据库构建
天津名优网络技术服务哪个正规
堡垒之夜服务器返回配置查询
新信息技术网络安全应用
医院网络安全态势感知平台
数据库中视图是干什么用的
农产品网络技术公司
关系数据库中数据逻辑结构是
瑞思丹网络技术
淘宝客软件开发多少钱