Mongodb read timee out异常解决办法
2012-12-04 09:40
399 查看
完整异常信息:
最后的read timed out是关键
异常原因是在进行数据操作时过长时间没有返回结果。
解决办法:设置SocketTimeout
spring配置如下:
org.springframework.dao.DataAccessResourceFailureException: can't call something : /172.16.9.54:27017/mo; nested exception is com.mongodb.MongoException$Network: can't call something : /172.16.9.54:27017/mo at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:56) at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:1546) at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1450) at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1248) at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1234) at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:471) at com.sitech.persistent.PhoneBillManagerImpl.queryMoSmsObjList(PhoneBillManagerImpl.java:144) at com.sitech.mas.periodTask.impl.SmsMoPhoneBillTask.processTask(SmsMoPhoneBillTask.java:29) at com.sitech.mas.periodTask.PeriodTaskHandler.doTask(PeriodTaskHandler.java:20) at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: com.mongodb.MongoException$Network: can't call something : /172.16.9.54:27017/mo at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:292) at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:256) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:289) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:274) 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:1444) ... 20 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 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:283) ... 27 more
最后的read timed out是关键
异常原因是在进行数据操作时过长时间没有返回结果。
解决办法:设置SocketTimeout
spring配置如下:
<mongo:options connections-per-host="500" socket-timeout="5000" max-wait-time="5000" threads-allowed-to-block-for-connection-multiplier="1000" connect-timeout="30000"/>
相关文章推荐
- python安装第三方库超时报错“Read time out”的解决办法
- java.net.SocketTimeoutException: Read timed out 异常解决办法
- Read Time out Exception 解决办法
- java.net.SocketTimeoutException: Read timed out 的解决办法 android平台 腾讯微博开发
- cosbench read异常解决办法。 Unable to verify integrity of data download. Client calculated content hash didn't match hash calculated by Amazon S3. The data may be corrupt.
- 【Linux异常】Linux下出现Read-only file system的解决办法
- 调用httpclient出现[read] I/O error: Read timed out的问题分析和解决办法
- SQL SERVER 导入.sql文件 出现SYSTEM.OUTOFMEMORY EXCEPTION 异常解决办法
- MongoDB 查询超时异常的原因及解决办法
- pip安装python库总提示下载超时read timed out的解决办法
- pip 安装包时超时(read timed out)问题解决办法
- MongoDB的C#官方驱动InvalidOperationException异常的解决办法
- mongodb错误tcmalloc: large alloc out of memory, printing stack and exiting解决办法
- MongoDB 查询超时异常的原因及解决办法
- lucene使用IndexWriter时遇到LockObtainFailedException: Lock obtain timed out 异常原因及解决办法
- redis read time out 解决
- java.net.SocketTimeoutException: Read timed out 的解决办法
- java.net.SocketTimeoutException: Read timed out解决办法
- Android中HTTP请求出现“Received authentication challenge is null”异常和“Read timed out”解决
- Win7下Bitmap.Clone方法处理CMYK图片OutOfMemory异常的解决办法