PostgreSQL 不会关闭连接
我们在 Tomcat 5.5.27、PostgreSQL 8.3 上使用 Liferay Portal 5.2.3(带有 Hibernate 和 C3P0)。 通常,c3p0 会池化连接并将其返回以供重用。但有时我们需要及时进行大量更新,而postgreSQL在关闭后不会释放连接(我们可以看到100个IDLE连接)。此外,该问题仅在 Linux (Debian 5.0) 上重现。 连接是由独立线程建立的,并且在 run() 方法的finally 块中我们总是关闭它。 我尝试过不使用池并编写简单的 DBConnection 管理器(getConnection() -> runQuery() -> closeConnection()),但 PostgreSQL 没有发布它。
We are using Liferay Portal 5.2.3 (with Hibernate and C3P0) on Tomcat 5.5.27, PostgreSQL 8.3.
Normally, c3p0 pools connections and return it for reusing. But sometimes we need a lot of updates in time and postgreSQL doesn't release connection after closing (we can see 100 IDLE connections). Also, that problem reproduces only on Linux (Debian 5.0).
Connections are establing by independent threads, and in the finally block of run() method we're always close it.
I've tried do not use pool and wrote simple DBConnection manager (getConnection() -> runQuery() -> closeConnection()), but PostgreSQL didn't release it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯...这是代码中的问题(一个坏人没有关闭连接)
huh... It was problem in code (one bad guy didn't close connections)