主要从官网学习这个框架,主要想用他来得到集群中的领导者,通过这个框架感觉都变简单了。
public static void main(String[] args) throws Exception {
RetryPolicy retryPolicy=new ExponentialBackoffRetry(1000, Integer.MAX_VALUE);
String connectString="10.1.15.24:2181";
CuratorFramework client = CuratorFrameworkFactory.newClient(connectString, retryPolicy);
client.start();
System.out.println("zookeeper start");
if(client.checkExists().forPath("/head")==null){
client.create().forPath("/head","hello world".getBytes());
// System.out.println(client.getData().watched().inBackground().forPath("/head"));
byte[] value=client.getData().watched().forPath("/head");
System.out.println(new String(value!=null?value:new byte[0]));
client.delete().inBackground().forPath("/head");
}else {
client.delete().inBackground().forPath("/head");
System.err.println("删除已经存在的znode");
}
LeaderSelectorListener listener = new LeaderSelectorListenerAdapter() {
public void takeLeadership(CuratorFramework client) throws Exception {
System.out.println("I'm leader");
}
};
LeaderSelector leader = new LeaderSelector(client, "/leader", listener);
leader.autoRequeue();
leader.start();
}
纪录一下方便以后自己学习。