redis客户端jedis中的小bug
来源:互联网 发布:如何有良好的仪态知乎 编辑:程序博客网 时间:2024/05/17 09:39
前段时间写了些redis相关的代码
谁料最近一直出问题,错误是jedis添加数据的时候返回类型Arriylist不能转换为Long型
但仔细看了下,sadd方法返回类型的确是Long型,什么时候变成list了
网上找了下,同样有网友遇到相同问题,说是连接超时造成的,不知道是不是这样导致的,但我的代码的确有超时异常
调用时候cath下异常,调用连接池returnBrokenResource方法 如下:
Jedis jedis = getJedispool().getResource(); try { jedis.keys("*");} catch (Exception e) {e.printStackTrace();jedisPool.returnBrokenResource(jedis);System.out.println("return already");}
发现卡到returnbrokenresource那块不往下走了,然后找到源码
JedisPool.java
public void destroyObject(final Object obj) throws Exception { if (obj instanceof Jedis) { final Jedis jedis = (Jedis) obj; if (jedis.isConnected()) { try { try { jedis.quit(); } catch (Exception e) { } jedis.disconnect(); } catch (Exception e) { } } } }
停到jedis.quit() 这行不走了,再往里
protected String getStatusCodeReply() { flush(); pipelinedCommands--; final byte[] resp = (byte[]) protocol.read(inputStream); if (null == resp) { return null; } else { return SafeEncoder.encode(resp); } }
卡到 final byte[] resp = (byte[]) protocol.read(inputStream)这行
本人能力有限,真跟不下去了
quit()走不下去,那我就直接往下走
改了代码,注掉jedis.quit(),直接走jedis.disconnect()
ok了,这个连接终于给正常返回连接池了
之后连接池连接数设为1,再次让它超时,不调用自带的returnBrokenResource
jedis jedis = getJedispool().getResource(); try { jedis.keys("*");} catch (Exception e) {e.printStackTrace();jedis.disconnect();System.out.println("return already");}jedisPool.returnResource(jedis);System.out.println(jedis.ping());
输出PONG
终于编辑完了
- redis客户端jedis中的小bug
- Redis客户端之Jedis
- Redis Java客户端Jedis
- redis -java客户端jedis
- Redis Java客户端Jedis
- Jedis客户端操作redis
- Redis-Java客户端Jedis
- redis客户端--jedis
- Redis 客户端Jedis 事务
- Redis客户端-Jedis源代码探索
- Redis的java客户端Jedis
- redis的java客户端jedis
- Redis的java客户端Jedis
- Redis的客户端实现-Jedis
- Java开发-Redis客户端Jedis
- Redis的Java客户端Jedis
- Redis之Jedis客户端使用
- Redis的Java客户端Jedis
- VB对象
- PHP SQlite 函数库详解
- OpenGL函数思考-glFlush和glutSwapBuffers
- zoj 1037
- Windows xp搭建Windows Phone 7开发环境 和 模拟环境
- redis客户端jedis中的小bug
- Apache下运行Python WEB Applications的三种方式
- onpropertychange和onchange
- 使用包組織和編寫oralce存儲過程
- VB总结 异同
- oracle 分页 order by 问题
- f=1-1/2!+1/3!-...+1/9!
- 基础题
- java远程访问技术的几篇文章