【发布时间】:2020-05-22 02:35:53
【问题描述】:
我使用自定义 TCP 监视器(类似于 TCPMon)拦截了 Zookeeper 服务器和客户端节点之间的连接。我停止了 TCPMon 并重新启动它。当我在会话到期后重新启动 TCPMon 时,通知客户端节点(“会话已过期”)但没有重新连接。怎么解决?
【问题讨论】:
标签: apache-zookeeper
我使用自定义 TCP 监视器(类似于 TCPMon)拦截了 Zookeeper 服务器和客户端节点之间的连接。我停止了 TCPMon 并重新启动它。当我在会话到期后重新启动 TCPMon 时,通知客户端节点(“会话已过期”)但没有重新连接。怎么解决?
【问题讨论】:
标签: apache-zookeeper
一旦会话过期,您需要关闭 ZooKeeper 句柄并重新创建它。
来自The Programmer's Guide - “一旦 ZooKeeper 对象关闭或收到致命事件(SESSION_EXPIRED 和 AUTH_FAILED),ZooKeeper 对象就会失效”
【讨论】:
myServer.shutdown(); myServer = new CloudSolrServer("zkHost:12345"); myServer.connect(); 似乎也不起作用。