当前位置: 首页 > 编程日记 > 正文

_00021 尼娜抹微笑伊拉克_谁的的最离奇的异常第二阶段 Jedis pool.returnResource(jedis)...

笔者博文:妳那伊抹微笑
博客地址:http://blog.csdn.net/u012185296
博文标题:_00021 妳那伊抹微笑_谁的异常最诡异第二期之 Jedis pool.returnResource(jedis)
个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前。妳却感觉不到我的存在
技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术
转载声明:能够转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
qq交流群:214293307  云计算之嫣然伊笑(期待与你一起学习,共同进步)


# Redis 谁的问题最诡异第二期

commons-collections-3.2.jar

# 1 Exception in thread "main"java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList

分析:Redis的JavaAPI中Jedis错误,看到这个你肯定会认为这个问题有点低级,确实低级,不用看都知道是少导了jar包引起的。只是这不是重点,重点是Jedis中的一个方法:pool.returnResource(jedis);这个才是重点中的重点。接下来我们看看这种方法的描写叙述:voidredis.clients.util.Pool.returnResource(Jedis jedis)能够看出这里面并没有抛出异常的声明子类的,那我们就不会去try-catch了,不去try-catch的后果就是会出现莫名其妙的错误。不try-catch会出现一个java.lang.NullPointerExceptio这种空指针异常,这种信息给我们是无用的。这是我们缺少jar包导致的问题。这里却提示java.lang.NullPointerException这种空指针异常,这不是坑爹么?(全然不是我们想要的东西)、、、然后就開始坑爹了。自己開始找错误了,运气差的话找N久也找不出来。有一种怒砸电脑的冲动,运气好的话一下就把错误找出来了,请看以下的代码。不用try-catch跟使用try-catch的比較。饿当时就没使用try-catch。由于这种方法pool.returnResource(jedis);没有声明有异常抛出,所以自然不会用。

(坑爹啊。)

原因:缺少commons-collections-3.2.jar这种jar包

解决:导入commons-collections-3.2.jar该jar包即可了

# 没有使用try-catch的代码已经对应的异常信息

# 没有使用try-catch的代码

publicvoid hdel(String key, String field){

       JedisPoolpool =null;

       Jedisjedis =null;

       try {

           pool= getJedisPool(key);

           jedis= pool.getResource();

           jedis.hdel(key,field);

       }catch (Exception e) {

           log.error("Redis hdel exception :" + key, e);

           pool.returnBrokenResource(jedis);

       }finally {

              pool.returnResource(jedis);

       }

# 异常信息

java.lang.NullPointerException

         atcn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils.hset(ConsistentHashRedisUtils.java:164)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorStoreRedis.userBehavior2Redis(UserBehaviorStoreRedis.java:58)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorAnalysisMainClass.main(UserBehaviorAnalysisMainClass.java:33)

# 使用了try-catch的代码

public void hdel(String key, String field) {

       JedisPool pool =null;

       Jedis jedis =null;

       try {

           pool = getJedisPool(key);

           jedis = pool.getResource();

           jedis.hdel(key, field);

       } catch (Exception e) {

           log.error("Redis hdel exception : " +key, e);

           pool.returnBrokenResource(jedis);

       } finally {

           try {

              pool.returnResource(jedis);

           }catch(Exception e) {

             log.error("JdisreturnResource exception : ", e);

           }

       }

# 异常信息

[2014-07-1016:39:17,659].[ERROR].[cn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils]

    JdisreturnResource exception :

 

java.lang.NullPointerException

         atcn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils.hset(ConsistentHashRedisUtils.java:164)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorStoreRedis.userBehavior2Redis(UserBehaviorStoreRedis.java:58)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorAnalysisMainClass.main(UserBehaviorAnalysisMainClass.java:33)

Exception in thread"main" java.lang.NoClassDefFoundError:org/apache/commons/collections/CursorableLinkedList

         atorg.apache.commons.pool.impl.GenericObjectPool.<init>(GenericObjectPool.java:392)

         atorg.apache.commons.pool.impl.GenericObjectPool.<init>(GenericObjectPool.java:275)

         atredis.clients.util.Pool.<init>(Pool.java:14)

         atredis.clients.jedis.JedisPool.<init>(JedisPool.java:24)

         atredis.clients.jedis.JedisPool.<init>(JedisPool.java:29)

         atcn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils.getJedisPool(ConsistentHashRedisUtils.java:343)

         atcn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils.getJedisPool(ConsistentHashRedisUtils.java:317)

         atcn.adsit.iva.preroll.dp.synch.analysis.redis.util.ConsistentHashRedisUtils.hset(ConsistentHashRedisUtils.java:156)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorStoreRedis.userBehavior2Redis(UserBehaviorStoreRedis.java:58)

         atcn.adsit.iva.preroll.dp.synch.analysis.UserBehaviorAnalysisMainClass.main(UserBehaviorAnalysisMainClass.java:33)

Caused by:java.lang.ClassNotFoundException:org.apache.commons.collections.CursorableLinkedList

         atjava.net.URLClassLoader$1.run(URLClassLoader.java:217)

         atjava.security.AccessController.doPrivileged(Native Method)

 

         atjava.net.URLClassLoader.findClass(URLClassLoader.java:205)

         atjava.lang.ClassLoader.loadClass(ClassLoader.java:319)

         atjava.lang.ClassLoader.loadClass(ClassLoader.java:264)

         atjava.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)

         ... 10more

}

# 总结1

对照能够知道。使用try-catch之后能够看到原来看不到的更重要的异常信息:Caused by: java.lang.ClassNotFoundException:org.apache.commons.collections.CursorableLinkedList

。然后我们就知道是导入commons-collections-3.2.jar这种jar包了。然后就搞定了,不解释,一个坑爹的问题。缺少jar包,也能够说是自己粗心吧!

希望能够帮到也碰到这样问题的朋友、、、

# Time:2014-07-10 17:35:21

版权声明:本文博客原创文章,博客,未经同意,不得转载。

相关文章:

WMI技术介绍和应用——查询系统信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句&#xff0c;具体使用参看前面的例子。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 本机主要知识点是Win32_ComputerSystem类。通过该类我们…

利用OpenCV实现抖音最强变脸术 | CSDN原力计划

作者 | 亓斌来源 | CSDN原力计划获奖作品&#xff08;*点击阅读原文&#xff0c;查看作者更多文章&#xff09;最近一个“最强变脸术”又火爆抖音啦&#xff0c;还不知道的朋友建议先打开抖音&#xff0c;搜索“最强变脸术”看个十来个视频再回来看这篇文章。视频看起来炫酷&am…

思科PIX防火墙的实际应用配置

PIX&#xff1a;一个合法IP完成inside、outside和dmz之间的访问 现有条件&#xff1a;100M宽带接入&#xff0c;分配一个合法的IP&#xff08;222.134.135.98&#xff09;&#xff08;只有1个静态IP是否够用&#xff1f;&#xff09;&#xff1b;PiX515e-r-DMZ-BUN1台&#xff…

CommonJS 的 AMD 规范

异步模块定义&#xff08;Asynchronous Module Definition&#xff0c;简称 AMD&#xff09;API 描述了一种定义模块的机制&#xff0c;模块及其依赖模块可以通过这种机制进行加载。该机制特别适用于浏览器。 本规范曾被称为 Modules Transport/C&#xff0c;但本规范主要不是用…

易观的大数据中台之路

作者 | 易观CTO郭炜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;本文为CSDN即将推出的《新战场&#xff1a;决胜中台》专刊的第 2 篇文章。什么是数据中台&#xff1f;中台的定义来自于投资银行&#xff0c;简单说来&#xff0c;投行当中前台是赚钱的、后台是做支…

WMI技术介绍和应用——查询系统信息和补丁包信息

本文使用了《 WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句&#xff0c;具体使用参看前面的例子。&#xff08; 转载请指明出于breaksoftware的csdn博客&#xff09;本文主要知识点是Win32_OperatingSystem和Win32_Quick…

Winform与Webform中的对话框

参考MSDNDialogResult result MessageBox.Show("见过打劫的没?", "打、打、打劫", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);switch (result){case DialogResult.OK:MessageBox.Show("你按了确定…

启动Genymotion时报错Failed to initialize backend EGL display

在启动Genymotion的时候报错&#xff1a; video card说的是显卡&#xff0c;你的显卡可能不支持 OpenGL2.0&#xff0c;或者你装的驱动有问题。解决办法&#xff1a;将驱动重新安装一下。可直接下载一个如“驱动人生“一样的驱动软件&#xff0c;把你的显卡驱动更新一下。转载…

新年新方向-斩获新职位

^_^上个星期斩获公司内部竞聘职位&#xff1a;项目管理部总经理&#xff0c;高兴&#xff0c;发展方向变了&#xff0c;以后我会多写一些项目管理的文章和大家分享。WPF的学习和分享也不会停下来&#xff0c;我要全面发展&#xff0c;做社会主义的接班人!YE!项目管理部总经理职…

清华官宣:前百度总裁张亚勤正式加盟清华大学

整理 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;12月31日&#xff0c;2019 年的最后一天&#xff0c;在大家沉浸在「总结过去」、「展望未来」之时&#xff0c;清华大学刚刚官宣了一则消息&#xff1a;前百度总裁张亚勤正式加盟清华大学&#…

WMI技术介绍和应用——查询时间信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句&#xff0c;具体使用参看前面的例子。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 本文主要介绍Win32_LocalTime和Win32_UTCTime。 如何使…

问题-[VMware Workstation]断电后,重启电脑,之后就提示“内部错误”

问题现象&#xff1a;突然断电后&#xff0c;重启电脑&#xff0c;再打开VMware Workstation&#xff0c;启动不了。之后就提示“内部错误”。问题原因&#xff1a;希望高人指点。问题处理&#xff1a;关闭VMware Workstation&#xff0c;在快捷方式上&#xff0c;右击&#xf…

FC SAN与IP SAN的比较

SAN&#xff08;Storage Area Network&#xff0c;存储区域网络&#xff09;是一个由存储设备和系统部件构成的网络。所有的通信都在一个与应用网络隔离的单独的网络上完成&#xff0c;可以被用来集中和共享存储资源。SAN不但提供了对数据设备的高性能连接&#xff0c;提高了数…

“数学不行,干啥也不行!”骨灰级程序员:其实你们都是瞎努力

编程圈一直都流传着一个段子&#xff1a;一流程序员靠数学&#xff0c;二流程序员靠算法&#xff0c;末端程序员靠百度&#xff0c;低端看高端就是黑魔法。懂的人其实都知道&#xff0c;这不是段子&#xff0c;其实就是程序员的真实写照。想一想&#xff0c;我们日常学习、求职…

WMI技术介绍和应用——查询系统服务

本文使用了《 WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句&#xff0c;具体使用参看前面的例子。&#xff08; 转载请指明出于breaksoftware的csdn博客&#xff09;本文主要介绍Win32_Service类。 如何使用WMI枚举系统中…

送书 | 2020年新一天,用这本书开启你的NLP学习之路!

本文选自电子工业出版社博文视点新书《大数据智能&#xff1a;数据驱动的自然语言处理技术》。本书作者&#xff1a;清华大学刘知远、薄言RSVP.ai崔安颀、腾讯张开旭、清华大学韩文弢、中国人民大学赵鑫、厦门大学苏劲松、罗格斯大学张永锋、北京大学严睿、哈尔滨工业大学&…

如何在父进程中读取子(外部)进程的标准输出和标准错误输出结果

最近接手一个小项目&#xff0c;要求使用谷歌的aapt.exe获取apk软件包中的信息。依稀记得去年年中时&#xff0c;有个同事也问过我如何获取被调用进程的输出结果&#xff0c;当时还研究了一番&#xff0c;只是没有做整理。今天花点时间&#xff0c;将该方法整理成文。&#xff…

Ruby环境的安装(In Ubuntu 7.10)

今天开始学习Ruby。准备的图书呢&#xff0c;就是《Programming Ruby &#xff0d; 2nd》。为了准备一个实验的环境&#xff0c;于是要给我的Ubuntu上安装Ruby的环境。1、安装解释器&#xff1a;sudo apt-get install ruby 2、安装一个即时执行工具irb:由于第一部安装的结果…

基于animation.css实现动画旋转特效

分享一款基于animation.css实现动画旋转特效。这是一款基于CSS3实现的酷炫的动画旋转特效代码。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <div class"wrap"><div class"mod_bg"><div class"bg…

VC:CString用法整理(转载)

1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值&#xff1a;如果CString 对象的长度为0&#xff0c;则返回非零值&#xff1b;否则返回0。 说明&#xff1a;此成员函数用来测试一个CString 对象是否是空的。 示例&#xff1a; 下面的例子说明了如何使用CString::IsEmp…

WMI技术介绍和应用——查询本地用户和组

本文使用了《 WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句&#xff0c;具体使用参看前面的例子。&#xff08; 转载请指明出于breaksoftware的csdn博客&#xff09;本文主要介绍Win32_Group和Win32_UserAccount类。 如何…

AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测

作者 | 彭厚文、傅建龙来源 | 微软研究院AI头条编者按&#xff1a;当时间从一维走向二维&#xff0c;时序信息处理问题中一种全新的建模思路由此产生。根据这种新思路及其产生的二维时间图概念&#xff0c;微软亚洲研究院提出一种新的解决时间定位问题的通用方法&#xff1a;二…

UITextField的代理方法

- (void)textFieldDidBeginEditing:(UITextField *)textField 当textField开始编辑的时候调用&#xff0c;可用完成如下的需求&#xff1a;点击textField可以使页面往上滑动 必须加上这句代码 [UIView animateWithDuration:.25 animations:^{ _scrollView.contentOffset CGPo…

以金山界面库(openkui)为例思考和分析界面库的设计和实现——问题

随着物质生活的丰富&#xff0c;人们的精神生活也越来越丰富。人们闲暇的时间也相对变多&#xff0c;于是很多人就开始寻找打发时间的方法。其中电视便是其中一种非常重要的消遣方式。假如我们打开电视机&#xff0c;看到了一个电视台正在播一部我们之前没看过的&#xff0c;正…

知识图谱,下一代数据中台的核心技术

作者 | 杨威&#xff0c;明略科技技术中心负责人 编辑 | 夕颜 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 本文为CSDN即将推出的《新战场&#xff1a;决胜中台》专刊的第 3 篇文章。 【导读】数据中台火的十分突然&#xff0c;似乎年前还在炒概念&#xff0c;年…

StoneAge Dict 技术方案的可行性[1]

上次和项目经理讨论了技术选型的事&#xff0c;现在简单地说一下&#xff0c;等下次开会再系统地讲。1. 平台环境&#xff1a;Java1.52. 用户接口&#xff1a;Web: JSP, JSFSpring2.5xDesktop: JavaFX3. 技术&#xff1a;dictzip(解析StarDict词库), XML因为StarDict是目前很受…

using的几种用途

using 常用来引用命名空间 1 using System; 2 using System.Data; 3 using System.Data.SqlClient; 4 using System.Collections.Generic; 5 using Model; 6 using IDAL; 7 using DBUnititly; using另一个用途是给类和命名空间指定别名 1 using spacename system.io2 3 using…

以金山界面库(openkui)为例思考和分析界面库的设计和实现——资源读取模块分析

按照软件的执行流程&#xff0c;我们首先遇到《以金山界面库&#xff08;openkui&#xff09;为例思考和分析界面库的设计和实现——问题》中提出的最后一个问题&#xff1a;界面描述文件的放置位置。我们曾提出一种方案&#xff1a;将界面描述文件打包后放在资源文件中&#x…

开发者如何赶上5G风口?

随着5G正式步入商用&#xff0c;5G 技术引发广泛关注。据信息通信研究院《5G经济社会影响白皮书》预测&#xff0c;2030年&#xff0c;5G将直接带动的总产出、经济增加值、就业机会分别为6.3万亿元、2.9万亿元和800万个。据BOSS直聘 《2019年5G相关人才数据观察》报告指出&…

使用C# 3.0编译器编译 Asp.Net 项目代码

只需要在 web.config 里添加这样的一段设置就OK了:<configuration><system.codedom><compilers><compiler language"c#;cs;csharp"extension".cs"type"Microsoft.CSharp.CSharpCodeProvider,System, Version2.0.0.0, Cultureneu…