我使用自定义TCP监视器(类似于TCPMon)拦截了Zookeeper服务器和客户机节点之间的连接。我停止了TCPMon并重新启动它。当会话到期后重新启动TCPMon时,会通知客户端节点(“会话已过期”)但未重新连接。我怎样才能修好它?
答案 0 :(得分:2)
一旦会话过期,您需要关闭ZooKeeper句柄并重新创建它。
从The Programmer's Guide - “一旦ZooKeeper对象关闭或收到致命事件(SESSION_EXPIRED和AUTH_FAILED),ZooKeeper对象就变为无效”