java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
来源:互联网 发布:城市网络管理系统 编辑:程序博客网 时间:2024/05/09 08:03
Connection proxy = (Connection) Proxy.newProxyInstance(Connection.class.getClassLoader(), Connection.class.getInterfaces(), new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if ("close".equals(method.getName())) { returnConn(conn); return null; } else { return method.invoke(conn, args); } } });
在使用动态代理增强Connection连接对象的close方法时,我碰到了如题所示的异常。通过搜索我发现这个异常出现的原因在于我使用的mysql数据库驱动的问题,由于数据库驱动不同,Connection.class.getInterfaces()返回的结果也不同,它返回的是一个Class[]数组,然而此数组的第一个元素必须是Connection才能把创建的代理类转为Connection对象,否则就会报错。
所以这里我们可以采取一个替代方式替换Connection.class.getInterfaces(),即new Class[] { Connection.class },这样无论数据库驱动是什么版本的驱动,都能保证这个类型转换不出错。
0 0
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案
- java.lang.ClassCastException: com.sun.proxy.$Proxy9 cannot be cast
- java.lang.ClassCastException: sun.proxy.$Proxy7 cannot be cast to
- java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.Question
- java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.Question
- Java.lang.ClassCastException: com.sun.proxy.$Proxy8 cannot be cast to com.bjsxt.service.UserServiceI
- java.lang.ClassCastException: com.sun.proxy.$Proxy8 cannot be cast to com.bjsxt.service.UserServiceI
- java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to
- 'Java.lang.'ClassCastException: 'com.sun.proxy.$Proxy8 cannot be cast to 类名'
- Spring报错:java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to *
- Java动态代理 报 com.sun.proxy.$Proxy0 cannot be cast to ** 的错误
- FAQ(22):java.lang.ClassCastException: com.sun.proxy.$Proxy7 cannot be cast to com.spring.Helloworld1
- Spring:com.sun.proxy.$proxy0 cannot be cast to XXX
- com.sun.proxy.$Proxy0 cannot be cast to ** 解决方法
- EJB学习(三)——java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to..
- ssh报错java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to org.service.impl.EmpServi
- 加了***的所有例子都出自(Java语言程序设计),P n表示多少页。
- 4传染(1)
- centos 搭建ftp服务器
- 微信浏览为网站的缓存怎么清理?
- ubuntu14下安装eclipse c++ IDE
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- hdu1075What Are You Talking About(字典树,map)
- rpm与dpkg yum与apt-get详解,一看这个就知道这些个关系了
- JAVA多线程系列需求应用场景1
- poj3320 hash
- radio,selelct,checkbox应用
- 18传染(2)
- iOS 解决视图往下偏移的问题
- HTTP协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么,列举常见错误码及含义