15:04:12.004 [CuratorFramework-0] ERROR org.apache.curator.ConnectionState - Connection timed out for connection string (10.241.81.35:2181,10.241.81.36:2181,10.241.81.37:2181,10.241.81.38:2181,10.241.81.39:2181) and timeout (5000) / elapsed (7111)
org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.curator.ConnectionState.checkTimeouts(ConnectionState.java:198) [curator-client-2.5.0.jar:na]
at org.apache.curator.ConnectionState.getZooKeeper(ConnectionState.java:88) [curator-client-2.5.0.jar:na]
at org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:115) [curator-client-2.5.0.jar:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:807) [curator-framework-2.5.0.jar:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:793) [curator-framework-2.5.0.jar:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$400(CuratorFrameworkImpl.java:57) [curator-framework-2.5.0.jar:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:275) [curator-framework-2.5.0.jar:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_80]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
15:04:16.934 [register-pms-SendThread(10.241.81.39:2181)] INFO org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 12001ms for sessionid 0x0, closing socket connection and attempting reconnect
15:04:16.934 [register-pms-SendThread(10.241.81.39:2181)] DEBUG o.a.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input
java.net.SocketException: Socket is not connected
at sun.nio.ch.Net.translateToSocketException(Net.java:129) ~[na:1.7.0_80]
at sun.nio.ch.Net.translateException(Net.java:163) ~[na:1.7.0_80]
at sun.nio.ch.Net.translateException(Net.java:169) ~[na:1.7.0_80]
at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:428) ~[na:1.7.0_80]
at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:200) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
at org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1185) [zookeeper-3.4.6.jar:3.4.6-1569965]
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1110) [zookeeper-3.4.6.jar:3.4.6-1569965]
Caused by: java.nio.channels.NotYetConnectedException: null
at sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:809) ~[na:1.7.0_80]
at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:426) ~[na:1.7.0_80]
... 3 common frames omitted
15:04:16.934 [register-pms-SendThread(10.241.81.39:2181)] DEBUG o.a.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown output
代码莫名其妙的抛出如上异常,我代码根本就没有连接zookeeper,为什么回抛出如上异常呢?因为以前有过经验,代码中抛出莫名其妙的异常时,很可能是jar包冲突,于是我查看了pom文件的依赖树,发现了两个zookeeper的jar包,一个是zookeeper,一个是api-zookeeper-client, 于是我排除了api-zookeeper-client包后,异常消失