原生api
節點特性
/**
* zookeeper節點特性
*/public
class
zkdemo
}});
countdownlatch.await();
system.out.println(zookeeper.getstate());
//節點路徑 值 acl(節點的操作許可權) 節點的型別,持久化節點
zookeeper.create("/zk-taofut","0".getbytes(), zoodefs.ids.open_acl_unsafe, createmode.persistent);
thread.sleep(1000);
stat stat=new stat();
//得到當前節點的值
byte bytes=zookeeper.getdata("/zk-taofut",null,stat);
system.out.println(new string(bytes));
//修改節點的值
zookeeper.setdata("/zk-taofut","1".getbytes(),stat.getversion());
//得到當前節點的值
byte bytes1=zookeeper.getdata("/zk-taofut",null,stat);
system.out.println(new string(bytes1));
//刪除當前節點
zookeeper.delete("/zk-taofut",stat.getversion());
zookeeper.close();
system.in.read();
} catch (exception e)
}}
事件監聽
/**
* 監聽事件:watcher只會監聽一次事件,如果需要一直監聽,那麼要迴圈了
*/public
class
watcherdemo
}});
countdownlatch.await();
//節點路徑 值 acl(節點的操作許可權) 節點的型別,持久化節點
zookeeper.create("/zk-taofut","0".getbytes(), zoodefs.ids.open_acl_unsafe, createmode.persistent);
//繫結事件條件:exists getdata getchildren
//通過exists繫結事件
stat stat=zookeeper.exists("/zk-taofut", new watcher() catch (keeperexception e) catch (interruptedexception e)
}});
//通過事務-修改來觸發監聽事件
stat=zookeeper.setdata("/zk-taofut","2".getbytes(),stat.getversion());
thread.sleep(1000);
zookeeper.delete("/zk-taofut",stat.getversion());
system.in.read();
} catch (exception e)
}}
curator的使用
節點特性
/**
* zookeeper節點特性
*/public
class
curatordemo
}
事件監聽
/**
* 事件監聽
* pathchildcache 監聽乙個節點下,子節點的建立、刪除、更新
* nodecache 監聽乙個節點的建立和更新
* treecathe 綜合pathchildcache和nodecache的特性
*/public
class
curatorwatcherdemo
/*** pathchildcache 監聽乙個節點下,子節點的建立、刪除、更新
*@param curatorframework
*@param path
*@throws exception
*/public
static
void
addlistenerwithpathchildcache(curatorframework curatorframework,string path) throws exception
};pathchildrencache.getlistenable().addlistener(pathchildrencachelistener);
pathchildrencache.start(pathchildrencache.startmode.normal);
}/**
* nodecache 監聽乙個節點的建立和更新
*@param curatorframework
*@param path
*@throws exception
*/public
static
void
addlistenerwithnodecache(curatorframework curatorframework,string path) throws exception
};nodecache.getlistenable().addlistener(nodecachelistener);
nodecache.start();
}/**
* treecathe 綜合pathchildcache和nodecache的特性
*@param curatorframework
*@param path
*@throws exception
*/public
static
void
addlistenerwithtreecache(curatorframework curatorframework,string path) throws exception
};treecache.getlistenable().addlistener(treecachelistener);
treecache.start();
}}
zookeeper原生API操作
zookeeper 學習 watcher 事件 author kevin public class zookeeperbase 進行阻塞 connectedsemaphore.await system.out.println string path testroot string data 測試資料...
常用的Xenomai 原生API
常用的xenomai 原生api 1 任務管理 xenomai 本身提供的一系列多任務排程機制,主要有以下一些函式 int rt task create rt task task,const char name,int stksize,int prio,int mode 任務的建立 int rt t...
原生Django常用API 引數
建立虛擬環境 mkvirtualenv django py3 1.11 p python3安裝django pip install django 1.11.111.建立工程 django admin startproject 工程名稱2.建立子應用 3.執行 python manage.py run...