Connection reset by peer: socket write error项目中从redis读数据报错
火光闪耀 2015-08-19 09:43:44 java项目跑起来后,在执行redis的hget方法的时候必然会报错:Connection reset by peer: socket write error
但是在该类中手动写了个main方法,然后调用hget方法,程序没有报错,得到了正确的结果。
停止项目执行main方法,结果正确;项目正在运行,执行main方法,结果也正确。
就是在项目自己执行到这个方法的时候会报这个错,请问这个应该怎么解决?
报错信息如下:
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset by peer: socket write error
at redis.clients.jedis.Connection.flush(Connection.java:69)
at redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:200)
at redis.clients.jedis.BinaryJedis.hgetAll(BinaryJedis.java:903)
at com.ll.da.persistence.redis.dao.impl.RedisMapDaoImpl.get(RedisMapDaoImpl.java:69)
at com.ll.da.persistence.redis.service.impl.DASQueryKeyServiceImp.findQueryKeys(DASQueryKeyServiceImp.java:46)
at com.ll.da.common.schedule.task.CleanAlarmQueryCacheTask.run(CleanAlarmQueryCacheTask.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at redis.clients.util.RedisOutputStream.flushBuffer(RedisOutputStream.java:29)
at redis.clients.util.RedisOutputStream.flush(RedisOutputStream.java:227)
at redis.clients.jedis.Connection.flush(Connection.java:67)
... 13 more