3
我看到几个MongoExceptions
引起的SocketTimeoutException
(请参阅下面的堆栈跟踪)。也就是说,客户端在超时(30秒)内未能获得响应。现在我想知道如何解决它。Mongo中的套接字超时异常
琐碎的解决方案是增加超时,但我想首先了解根本原因。你会建议什么?
caused by java.net.SocketTimeoutException: Read timed out java.net.SocketInputStream.socketRead0 (Native Method) java.net.SocketInputStream.read (SocketInputStream.java:152) java.net.SocketInputStream.read (SocketInputStream.java:122) java.io.BufferedInputStream.read1 (BufferedInputStream.java:273) java.io.BufferedInputStream.read (BufferedInputStream.java:334) com.mongodb.Response$MyInputStream.read (Response.java:168) org.bson.BasicBSONDecoder$BSONInput.fill (BasicBSONDecoder.java:386) org.bson.BasicBSONDecoder$BSONInput.readUTF8String (BasicBSONDecoder.java:460) org.bson.BasicBSONDecoder.decodeElement (BasicBSONDecoder.java:155) org.bson.BasicBSONDecoder._decode (BasicBSONDecoder.java:79) org.bson.BasicBSONDecoder.decode (BasicBSONDecoder.java:57) com.mongodb.DefaultDBDecoder.decode (DefaultDBDecoder.java:61) com.mongodb.Response. (Response.java:83) com.mongodb.DBPort.go (DBPort.java:142) com.mongodb.DBPort.call (DBPort.java:92) com.mongodb.DBTCPConnector.innerCall (DBTCPConnector.java:244) com.mongodb.DBTCPConnector.call (DBTCPConnector.java:216) com.mongodb.DBApiLayer$MyCollection.__find (DBApiLayer.java:288) com.mongodb.DBApiLayer$MyCollection.__find (DBApiLayer.java:273) com.mongodb.DBCollection.findOne (DBCollection.java:728) com.mongodb.DBCollection.findOne (DBCollection.java:708)