如何克服“java.sql.SQLException:Too many connections”异常?

时间:2010-02-03 16:42:46

标签: java mysql jdbc

我有一个用java编写的简单Web应用程序,它有servlet访问Mysql数据库以生成报告。报告生成非常频繁。

我正在使用apache commons DBCP来获取与DB的连接。我也总是关闭finally块中的连接明确性。但我没有明确关闭我创建的语句和结果集。

每次我收到“java.sql.SQLException:Too many connections”的Exception时,我都被迫重启tomcat实例。

我如何克服这个问题....我是否需要增加Mysql中的maxconnections?。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

  • 是的,您应该关闭Statement s / ResultSet - 这些通常会引用原始JDBC Connection而不是PooledConnection代理Connection DBCP PooledDataSource
  • 考虑使用C3P0而不是DBCP。
  • 考虑使用Spring来管理你的JDBC操作,你永远不必担心这种事情。

答案 1 :(得分:0)

使用连接池并在完成工作后始终关闭(返回池)连接。

http://dev.mysql.com/tech-resources/articles/connection_pooling_with_connectorj.html