java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to java.sql.Connection错误
自己做的连接数据库池,使用代理,代理Connection的close()方法出现的错误,求解答...
自己做的连接数据库池,使用代理,代理Connection的close()方法出现的错误,求解答
展开
展开全部
Connection.getInterfaces() 与数据库驱动有关,数据库驱动不同 Connection.getInterfaces() 的结果也就不同,Connection.getInterfaces() 返回的是 Class[] 数组,此数组的第一个元素必须是Connection才能把创建的代理类转为Connection对象,否则就会报:Java.lang.ClassCastException。因为Connection本身就是一个接口,它的字节码符合第二个参数要求,把conn.getClass().getInterfaces();改成new Class[]{Connection.class}就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询