我是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();
}
}
答案 0 :(得分:2)
我也记录了这个错误。这是因为Zookeeper观察者为空。在对构造函数的调用中,第三个参数是观察者:
ZooKeeper zk=new ZooKeeper("localhost",1281, null);
似乎Zookeeper ClientCnxn尝试在观察者上调用进程,即使它为null。但是,它会捕获异常,只记录错误并继续。
答案 1 :(得分:2)
如果您不想观看活动,可以编写自己的" StubWatcher"。
创建一个继承自Watcher
的类,并使用空体实现process
方法。
应该这样做。