Curator之建立節點。

2021-08-13 10:11:49 字數 1176 閱讀 3887

curator中提供了一系列fluent風格的介面,開發人員可以通過對其進行自由組合來完成各種型別節點的建立。

createbuilder

createmodable

pathandbytesable

以上就是一系列最常用的建立節點api。下面通過一些場景來說明如何使用這些api。

client.create().forpath(path);

注意,如果沒有設定節點屬性,那麼curator預設建立的是持久節點,內容預設是空。這裡的client是指乙個已經完成會話建立並啟動的curator客戶端例項,即curatorframework物件例項。

client.create.forpath(path, "init".getbytes());

也可以在建立節點的時候寫入初始節點內容。和zkclient不同的是,curator仍然是按照zookeeper原生api的風格,使用byte作為方法引數。

client.create().withmode(createmode.ephemeral).forpath(path);

client.create().creatingparentsifneeded().withmode(createmode.ephemeral).forpath(path);

這個介面非常有用,在使用zookeeper的過程中,開發人員經常會碰到nonodeexception異常,其中乙個可能的原因就是試圖對乙個不存在的父節點建立子節點。因此,開發人員不得不在每次建立節點之前,都判斷一下該父節點是否存在——這個處理通常讓人厭惡。在使用curator之後,通過呼叫creatingparentsifneeded介面,curator就能夠自動的遞迴建立所有需要的父節點。

同時要注意的一點是,由於在zookeeper中規定了所有非子節點必須為持久節點,呼叫上面這個api之後,只有path引數對應的資料節點是臨時節點,其父節點均為持久節點。

下面通過乙個實際例子來看看如何在**中使用這些api。

// 使用curator建立節點

public class create_node_sample }

Curator之讀取資料。

下面來看如何通過curator介面來獲取節點的資料內容。statable pathable 以上就是一系列最常用的讀取資料節點內容的api介面,下面通過一些場景來說明如何使用這些api。client.getdata forpath path 注意,該介面呼叫後的返回值是byte。client.get...

html DOM之建立新增節點

html dom概念 定義了訪問和操作 html 文件的標準方法。html dom 是 html 的標準物件模型 html的標準程式設計介面 w3c標準 html dom 定義了所有 html 元素的物件和屬性,以及訪問它們的方法。換言之,html dom 是關於如何獲取 修改 新增或刪除 html...

ROS入門之建立節點

由於自己看些野路子的書本把自己坑了,於是開始一步步的解bug之旅,將自己的除錯的過程與大家分享。這裡假設是你已經安裝好了ros,我在這裡用的是ubuntu 16.04,ros版本 kinetic 一直把這個記成kinect,錯了很多地方。1 首先建立工作空間 ros系統進行執行時都是在某個工作空間下...