来自Tomcat应用程序的连接太少

时间:2014-12-05 01:06:18

标签: java servlets tomcat5.5 mysqlconnection

我有一个配置了max_connections值为150的mysql数据库。我还有一个在Tomcat 5.5中运行的Java 6 Web应用程序,配置了以下设置:

<Resource name="jdbc/myDB"
type="javax.sql.DataSource"
driver="com.mysql.jdbc.Driver"
username="username"
password="password"
maxActive="100"
maxIdle="100"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="300"
logAbandoned="true"
url="jdbc:mysql://localhost:3306/myDB?autoreconnect=true"
validationQuery="SELECT 1" />

此应用程序不使用任何第三方框架只是基本的java servlet。我在java应用程序中的某些代码中有一个错误,它没有正确地从池中释放打开的mysql连接。我正在努力识别和修复这些问题。但与此同时,我需要弄清楚为什么最多只允许25个连接到mysql。在这25个连接用完之后,应用程序就会没有响应。

有人可以帮我弄清楚为什么mysql和tomcat都配置了100多个连接,但它一次只允许25个?

2 个答案:

答案 0 :(得分:0)

Tomcat JDBC连接池

您使用什么连接池?

您使用的是Tomcat JDBC Connection Pool,而不是Apache Commons池吗?它具有detect connection leaks或放弃连接的属性,这些属性比配置的超时时间长。

答案 1 :(得分:0)

MySQL的max_connections设置为150,但max_user_connections设置为25,这是限制因素。我从my.cnf中删除了此设置,将其恢复为默认值unlimited。