Mysql 在Tomcat上运行的Java web应用程序无法使用DB连接池执行SQL查询

Mysql 在Tomcat上运行的Java web应用程序无法使用DB连接池执行SQL查询,mysql,jakarta-ee,tomcat6,connection-pooling,Mysql,Jakarta Ee,Tomcat6,Connection Pooling,在这里,我在堆栈溢出问题上多次遇到类似的问题,但是,我一直无法正确地回答 我正在尝试在AWS RDS上的Tomcat6+MySQL中使用数据库连接池 这些是我配置的参数 我正在关闭Java代码中的连接 <Resource name="jdbc/awsDB" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

在这里,我在堆栈溢出问题上多次遇到类似的问题,但是,我一直无法正确地回答

我正在尝试在AWS RDS上的Tomcat6+MySQL中使用数据库连接池 这些是我配置的参数

我正在关闭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多个连接处于睡眠状态,新的数据库查询也会无限期地执行

在大多数情况下,我会重新启动服务器

我犯了什么配置错误


提前多谢

检查您的查询是否使用where子句中的所有索引列。如果您确定连接池,那么问题很可能出在查询本身