Spring MongoDB TCP连接结束然后执行查询

时间:2013-08-21 13:56:47

标签: mongodb spring-data

我在使用Spring 3.1和MongoDB时遇到了一个非常奇怪的问题。我正在使用Spring Mongo库。这是一个非常简单的调用,只需提取一些数据并插入一些新数据。但是当它在循环中拉动新数据时,连接被终止。从捕获我看到它拉数据插入数据,然后做另一个查询但在两秒延迟后它发送一个FIN数据包到服务器。然后服务器稍后尝试将数据发送回客户端,但之后客户端发送RST,因为它已经终止了连接。

请让我知道我可以提供哪些其他信息来帮助您理解此问题。我也可以为捕获文件提供下载链接。

感谢您的帮助

跟踪输出

org.springframework.dao.DataAccessResourceFailureException: can't call something : id561la.ytel.com/172.31.214.55:27017/cdrstat; nested exception is com.mongodb.MongoException$Network: can't call something : id561la.ytel.com/172.31.214.55:27017/cdrstat
        at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:56)
    at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:1665)
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1548)
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1336)
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1322)
    at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:495)
    at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:486)
    at dao.BaseMongoSQLDAO.queryForList(BaseMongoSQLDAO.java:35)
    at dao.PrefixStatSqlMapDAO.list(PrefixStatSqlMapDAO.java:59)
    at services.CDRReaderService.getPrefixStat(CDRReaderService.java:705)
    at services.CDRReaderService.processFile(CDRReaderService.java:659)
    at services.CDRReaderService.access$100(CDRReaderService.java:42)
    at services.CDRReaderService$1.run(CDRReaderService.java:150)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
Caused by: com.mongodb.MongoException$Network: can't call something : id561la.ytel.com/172.31.214.55:27017/cdrstat
    at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:295)
    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)
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1534)
    ... 13 more
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:146)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at org.bson.io.Bits.readFully(Bits.java:46)
    at org.bson.io.Bits.readFully(Bits.java:33)
    at org.bson.io.Bits.readFully(Bits.java:28)
    at com.mongodb.Response.<init>(Response.java:40)
    at com.mongodb.DBPort.go(DBPort.java:124)
    at com.mongodb.DBPort.call(DBPort.java:74)
    at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
    ... 20 more

0 个答案:

没有答案