从Tomcat应用程序太少连接
问题描述:
我有一个为150。max_connections的值来配置一个MySQL数据库我也有一个Java 6的web应用到Tomcat 5.5以下设置配置运行:从Tomcat应用程序太少连接
<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个?
答
Tomcat JDBC连接池
你使用什么连接池?您是否使用Tomcat JDBC Connection Pool而不是Apache Commons池?它的属性为detect connection leaks或放弃长时间连接的配置超过配置的超时。
答
MySQL的max_connections设置为150,但max_user_connections设置为25,这是限制因素。我从my.cnf中删除了这个设置,将它恢复到默认值unlimited。
您可以在管理连接重用的应用程序服务器中配置数据库连接池。 – Rob 2014-12-05 01:23:06
@Rob,我将我的连接池设置添加到我的问题中,你看到有什么问题吗? – 2014-12-05 04:36:05