这个错误是在Spring整合Mybatis过程中出现的,主要是C3P0在连接数据库的时候出现了错误。网上类似的错误很多,但是造成的问题却很多种,共同点就是都是在连接数据库的配置文件中出错。
警告 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.
run com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3dc06a27 -- Acquisition Attempt Failed!
!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed
more than the maximum number of allowed acquisition attempts (2). Last acquisition attempt exception:
java.sql.SQLException: Access denied for user '0010'@'localhost' (using password: YES)
java.sql.SQLException: Access denied for user '0010'@'localhost' (using password: YES)
解决方案
原先的配置文件代码:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
username=root
password=root
修改后的代码:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root
在配置信息前面都加上jdbc.主要原因是避免和主机名冲突,也可以把username和password这两个字段改成别的user和pass。
没修改之前也有可能抛下面的异常:
Type Exception Report
Message Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
org.apache.ibatis.exceptions.PersistenceException:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@2fe0e113 -- timeout at awaitAvailable()