1.问题
java.lang.AbstractMethodError: Receiver class com.mysql.jdbc.Connection does not define or inherit an implementation of the resolved method 'abstract boolean isValid(int)' of interface java.sql.Connection.
2.原因:
mysql-connector 版本为 5.0.4 ,那么对应的 dbcp 和 pool 版本应该为 1.4 和 1.6 。
5.0.4 不应该使用 2.0 及以上版本的 dbcp 和 pool。因为 在 dbcp 中 org.apache.commons.dbcp2.DelegatingConnection 有如下代码:
try {
return _conn.isValid(timeout);
}
catch (SQLException e) {
handleException(e);
return false;
}
3.解决方案
更改mysql驱动包的版本为5.1.46以上
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<scope>runtime</scope>-->
<!--修改MySQL驱动包的版本为5.1.46 -->
<version>5.1.46</version>
</dependency>