zookeeper-API相關操作-修改節點
阿新 • • 發佈:2021-07-14
工程具體結構見上文
https://www.cnblogs.com/aoligei/p/15010287.html
//======================================set============================ /** * 修改資料 * 1.修改資料 client.getData().forPath("/test1"); * 2.根據版本修改(多執行緒環境下 ABA 問題) client.setData().withVersion(version).forPath("/test2", "A".getBytes()); * version 是通過查詢出來的,目的就是不受其他客戶端或者執行緒的干擾 *@throws Exception */ @Test public void testSet1() throws Exception { client.setData().forPath("/test1", "set1".getBytes()); byte[] bytes = client.getData().forPath("/test1"); System.out.println(new String(bytes)); } @Test //ABA問題 public void testSetForversion() throwsException { Stat status = new Stat(); client.getData().storingStatIn(status).forPath("/test2"); int version = status.getVersion(); System.out.println(version); client.setData().withVersion(version).forPath("/test2", "A".getBytes()); }
1、修改資料
2、根據版本修改資料