如何解决这个异常:
Exception in thread "main" java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:914)
...
字符串
我读到这个错误是关于libraries/ jdk的,但我找不到一个好的方法来解决它。我需要你的帮助。谢谢!
4条答案
按热度按时间gkn4icbw1#
这意味着您的mysqljdbc驱动程序没有实现jre 6中添加的jdbc方法,比如isValid。
vnzz0bqm2#
如果您提供验证查询,则可以避免升级驱动程序。
vsaztqbk3#
我将JDBC驱动程序jar文件升级到mysql-connector-java-6.0.2并解决了这个问题。
cuxqih214#
结合多个答案并扩展信息,以便所有信息都在一个地方。
正如@BrettOkken提到的,JDK 1.6在Connection上添加了
isValid
方法,所以你最好的办法是找到一个更新版本的驱动程序。为了扩展@mhvelplund的答案...
如果您说服Tomcat的dbcp 2不调用
isValid
方法,则可以避免升级JDBC驱动程序。您可以通过在context.xml
文件(放入Tomcat的/conf/Catalina/localhost/{myappname}.xml
中)的Resource
定义中指定validationQuery
(可能还有validationQueryTimeout
和maxConnLifetimeMillis
)来实现这一点。字符串