我在 Stack Overflow 上多次遇到过类似的问题,但是,我一直没能把它弄好。
我正在尝试在 Tomcat 6 + MySQL 中使用数据库连接池(在 AWS RDS 上)这些是我配置的参数。
(我也在关闭我的 Java 代码的连接)
<Resource name="jdbc/awsDB" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
initialSize="10"
testWhileIdle="true"
maxActive="30"
maxAge="3600"
maxIdle="5"
maxWait="3000"
removeAbandoned="true"
logAbandoned="false"
validationQuery="SELECT 1"
removeAbandonedTimeout="60"
timeBetweenEvictionRunsMillis="15000"
username="sbose78" password="XXXXX"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://xxxxrds.amazonaws.com:3306/health?autoReconnect=true" />
该应用程序在最初的几个数据库查询中运行良好,之后数据库连接无限期挂起。
从连接日志中,我注意到连接池运行良好,但是,即使有 10 个以上的连接处于 SLEEP 状态,新的数据库查询也需要无限期的时间来执行。
在大多数情况下,我最终会重新启动服务器。
我在做什么配置错误?
提前非常感谢!