使用zookeeeper實現節點監聽

2021-10-07 08:46:03 字數 2771 閱讀 5444

/**

* * @author liulei

* @since 2020-06-17

* @see zookeeperutils

*/public class zookeeperutil extends zookeeperutils catch (exception e) finally

} /**

* 同步建立臨時節點(會話斷開連線節點失效)

* * @param path 節點路徑

* @param data 資料

* @return

*/public static string createephemeralnode(string path, string data) catch (exception e) finally

} /**

* 同步建立臨時有序節點(會話斷開連線節點失效)

* * @param path 節點路徑

* @param data 資料

* @return

*/public static string createsequentialephemeralnode(string path, string data) catch (exception e) finally

} /**

* 同步更新資料

* * @param path

* @param data

*/public static void updatedata(string path, string data) catch (exception e) finally

} /**

* 同步強制刪除乙個zookeeper節點同時遞迴刪除子節點

* * @param path

*/public static void deleteallnode(string path) catch (exception e) finally

} /**

* 同步獲取節點的所有子節點

* * @param path

* @return 返回所有子節點的節點名

*/public static listgetchildren(string path) catch (exception e) finally

} /**

* 對指定節點進行監聽

* * @param path 節點路徑

* @return

*/public static nodecache registernodecachelistener(string path)成功監聽節點資料變化",path);

}});

nodecache.start();

return nodecache;

} catch (exception e) finally

} /**

* 對指定路徑節點的一級子目錄監聽,不對該節點的操作監聽

* * @param path

* @param listener

* @return

*/public static pathchildrencache registerpathchildlistener(string path, pathchildrencachelistener listener) catch (exception e) finally

} /**

* 註冊目錄***

* * @param path

* @param maxdepth 節點深度

* @param listener

* @return

*/public static treecache registertreecachelistener(string path, int maxdepth, treecachelistener listener) catch (exception e) finally

}}

/**

* zookeeper節點接聽

* * @author liulei

* @since 2020-06-17

**/@component

public class zookeepernodelistener implements initializingbean, disposablebean , 資料:{}",path,data);

break;

case node_updated:

logger.info("正在更新子節點: {}, 資料:{}",path,data);

break;

case node_removed:

logger.info("正在刪除子節點: {}, 資料:{}",path,data);

break;

case connection_lost:

logger.info("節點: {}連線丟失",rootpath);

break;

case connection_reconnected:

logger.info("節點: {}恢復連線",rootpath);

break;

}} catch (exception e)

}});

// 沒有中斷標記

while (!thread.currentthread().isinterrupted())

}@override

public void destroy() throws exception

}}

工具使用 第1節 git使用簡記

這裡只說windows版本安裝使用,linux版本等以後再研究 git config global user.name 你的使用者名稱 git config global user.email 郵箱位址 在目錄空白處右擊選擇 git bash here 進入msysgit的控制台,輸入git ini...

第2節 python實現檔案讀取

使用read csv方法讀取,結果為dataframe格式 在讀取csv檔案時,檔名稱盡量是英文 引數較多,可以自行控制,但多數時候使用預設引數 讀取csv時,注意編碼,常用的編碼為utf 8 gbk gbk2312和gb18030等。使用to csv快速儲存。讀取csv檔案 import nump...

演算法導論 2 1節程式設計練習C 實現

1.insertion sort a 插入排序 非降序排序 include include include using namespace std vectorinsertion vector a a i 1 key return a int main vectorb insertion a for...