zookeeper知识点二(更新节点数据)

来源:互联网 发布:mysql 高级sql语句 编辑:程序博客网 时间:2024/06/06 20:54
public class UpdateNodeSync implements Watcher{
    
    
    private static ZooKeeper zooKeeper;
    public static void main(String[] args) throws IOException, InterruptedException, KeeperException {
        zooKeeper = new ZooKeeper("127.0.0.1:2181",5000,new UpdateNodeSync());
        System.out.println(zooKeeper.getState().toString());
        Thread.sleep(Integer.MAX_VALUE);
    }
    
    private void doSomething(ZooKeeper zooKeeper){
        try {
            Stat stat = zooKeeper.setData("/node_2", "123".getBytes(), -1);
            System.out.println("stat:"+stat);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (KeeperException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void process(WatchedEvent event) {
        System.out.println("事件状态:" + event.getState() +",事件类型:" +  event.getType() +",事件涉及路径:" + event.getPath());
        if (event.getState()==KeeperState.SyncConnected){
            if (event.getType()==EventType.None && null==event.getPath()){
                doSomething(zooKeeper);
            }
        
        }
    }

}

0 0
原创粉丝点击