我有一个用java编写的简单web应用程序,它让servlets访问Mysql数据库来生成报告。报告生成非常频繁。
我正在使用apache commons DBCP来连接数据库。我也总是在finally块中明确地关闭连接。但是我没有显式地关闭我创建的语句和结果集。
每次遇到异常时,我都被迫重新启动tomcat实例,该异常显示“java.sql.sql Exception:toomanconnections”。
我该如何克服。。。。我需要增加Mysql中的maxconnections吗?.
如有任何帮助,我们将不胜感激。
最佳答案
是的,您应该关闭Statement
s/ResultSet
s-它们通常会引用原始JDBCConnection
而不是DBCPPooledConnection
返回的Connection
代理。
考虑使用C3P0而不是DBCP。
考虑使用Spring来管理JDBC操作,您将永远不必担心这种事情。