【发布时间】:2020-09-25 11:08:15
【问题描述】:
我正在使用 Apache Curator v4.3.0 (ZK v3.5.8),我注意到在某些断开/重新连接的情况下,我停止向已注册的侦听器发送 RECONNECTED 事件。
CuratorFramework client = ...;
// retry policy is RetryUntilElapsed with Integer.MAX_VALUE
// sessionTimeout is 15 sec
// connectionTimeout is 5 sec
client.getConnectionStateListenable().addListener(new ConnectionStateListener()...
虽然我确实看到 ConnectionStateManager 打印状态更改:
[org.apache.zookeeper.ClientCnxn] - Client session timed out, have not heard from server in 15013ms for sessionid 0x10000037e340012, closing socket connection and attempting reconnect
[org.apache.zookeeper.ClientCnxn] - Opening socket connection to server
...
[org.apache.curator.ConnectionState] - Session expired event received
[org.apache.zookeeper.ClientCnxn] - Session establishment complete on server
[org.apache.curator.framework.state.ConnectionStateManager] - State change: RECONNECTED
通常在我看到我的听众打电话给stateChanged 之后,但并非总是如此。
CuratorFramework 客户端在注册不同侦听器的多个组件之间共享。我没有看到每个听众只有一个客户的任何限制。但是,当我不分享时,问题就不会再出现了。
关于如何继续调试此问题的任何建议?
谢谢, 梅龙
【问题讨论】:
标签: apache-curator