导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:337
阅读量:1472467
访问量:166454
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
Jedis:NoSuchElementException: Could not create a validated object
Tags : Jedis,Redis发表时间: 2017-01-18 00:26:44
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:

使用Jedis来调用redis时,获取连接出现如下:

Caused by: Java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed

at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1233)

at Redis.clients.util.Pool.getResource(Pool.java:20)

原因:通过 JedisPool.getResource();从连接池中获取连接的时候会对连接进行检验:

  1. public boolean validateObject(final Object obj) {  
  2.         if (obj instanceof Jedis) {  
  3.             final Jedis jedis = (Jedis) obj;  
  4.             try {  
  5.                 return jedis.isConnected() && jedis.ping().equals("PONG");  
  6.             } catch (final Exception e) {  
  7.                 return false;  
  8.             }  
  9.         } else {  
  10.             return false;  
  11.         }  
  12.     }  

有时候使用一些中间件不支持ping,这个时候如果配置testOnBorrow为TRUE时就会出现如上问题,此时需要将testOnBorrow设置为FALSE才行。



参考:http://blog.csdn.net/luyee2010/article/details/17452733


打赏
打赏
关注公众号
公众号
类别:DB| 阅读(3502)| 赞 (0)
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞