ZooKeeper Java客户端API如何更新数据
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关ZooKeeper Java客户端API如何更新数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。同步更新数据import
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
伟宏互联网科技
互联网科技公司经营范围
云信互联网科技有限公司
互联网核心科技是什么
工业互联网科技新基建
上海卓越科技 互联网
互联网科技公司的市场部门
深圳国际航运科技和互联网
互联网金融中的现代科技
本届互联网博览会上的黑科技
996高科技互联网公司
乌鲁木齐新华智原互联网科技学校
中国互联网公司排名锤子科技
本届互联网大会上的黑科技
互联网与数字科技关系
互联网科技包装股
新氧科技和美国互联网有关系吗
互联网科技对化妆品行业
安徽九吞吴互联网科技有限公司
互联网科技活动banner
互联网科技保险
科技互联网项目
互联网 科技创新
美国互联网黑科技
中国最先进互联网科技公司
工业互联网等科技实现智能化赋能
上海钢联属于互联网科技股吗
新氧科技和美国互联网有关系吗
现代互联网科技公司