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>
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐