有时我从 MongoDB Java 驱动程序 2.10.1 得到这个异常:
java.lang.IllegalArgumentException: response too long: 1912733750
at com.mongodb.Response.<init>(Response.java:47)
at com.mongodb.DBPort.go(DBPort.java:124)
at com.mongodb.DBPort.call(DBPort.java:74)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
at com.mongodb.DBCursor._check(DBCursor.java:368)
at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
显然,我的回复并没有那么长。实际上它很小,集合中只有 1000 个项目,每个项目 100-500 字节。为什么会发生这种情况?
最佳答案
如错误描述所述,这是由于服务器响应请求的时间过长造成的。这可能是由您服务器中的防火墙设置引起的。尝试检查服务器是否可以通过您用于 MongoDB 的端口写出响应。
关于java - "response too long"在 MongoDB Java 驱动程序中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774261/