相关报错代码
Object waiter = new Object();
ZooKeeper zkClient;
try
{
synchronized (waiter) {
final CountDownLatch connectedSignal = new CountDownLatch(1);
zkClient = new ZooKeeper("zk地址"
, 1000, event -> {
if (event.getState() == Watcher.Event.KeeperState.SyncConnected) {
connectedSignal.countDown();
System.out.println( "Hello end!" );
}
});
connectedSignal.await();
}
}
catch(Exception g)
{
g.printStackTrace();
}
再zookeeper回调event的时候收不到,当打开debug的时候爆
[DEBUG] [traceId:] [gcatTraceId:] [main-SendThread(********)] org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:210) - Ignoring exception during shutdown output
java.net.SocketException: Socket is not connected
at java.base/sun.nio.ch.Net.translateToSocketException(Net.java:181)
at java.base/sun.nio.ch.Net.translateException(Net.java:217)
at java.base/sun.nio.ch.Net.translateException(Net.java:223)
at java.base/sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:397)
at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:207)
at org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1250)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1174)
Caused by: java.nio.channels.NotYetConnectedException: null
at java.base/sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:1044)
at java.base/sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:395)
... 3 common frames omitted
原因
1 查看zk是否启动成功
2 查看端口以及防火墙
3 查看网络
最后解决
JDK版本选的15 zk当前版本不支持。。。。