java等待Zookeeper客户端线程停止
当Zookeeper
客户端启动时,它会创建两个线程:SendThread
和EventThread
在应用程序关闭时,我希望工作线程等待Zookeeper线程完成,但在API中看不到任何合适的内容
然而,我只能调用ZooKeeper.close()
,它将连接状态设置为CLOSED,并为EventThread排队“死亡事件”
来自ClientCnxn:
public void disconnect() {
this.sendThread.close();
this.eventThread.queueEventOfDeath();
}
我错过什么了吗? 有没有一种方法可以在不修改ZK客户端代码的情况下连接Zookeeper线程
# 1 楼答案
没有合适的API,所以最后不得不使用反射: