error org.apache.zookeeper.clientcnxn-调用watcher时出错

gcxthw6b  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(636)

我是Zookeeper的新手。我编写了一个简单的程序来创建持久节点。它的工作,但给予例外,一旦执行完成。我试图在谷歌搜索,但没有令人满意的答案。有人能给我什么建议吗。

public class ZkProg {
    public static void main(String[] args) throws IOException, KeeperException, InterruptedException
    {
        ZooKeeper zk=new ZooKeeper("localhost",1281, null);
        zk.create("/zookeeper/Names",new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        //zk.delete("/zookeeper/Names",-1);
        zk.close();
    }
}
s71maibg

s71maibg1#

我还记录了这个错误。这是因为zookeeper watcher为空。在对构造函数的调用中,第三个参数是观察者:

ZooKeeper zk=new ZooKeeper("localhost",1281, null);

zookeeper clientcnxn似乎试图调用观察者的进程,即使它是空的。但是,它捕获异常并记录错误并继续。

6za6bjd0

6za6bjd02#

如果您不想观看事件,可以编写自己的“stubwatcher”。
创建继承自的类 Watcher 并实施 process 具有空主体的方法。
应该可以了。

相关问题